我在C#方面非常先进,但却是ASP.NET世界的新手。
我的HomeController.cs:
public ActionResult Index()
{
// tuple -> item1 = key string / item2 = assigned list
var configList = new List<Tuple<string, List<string>>>();
configList = fillItWithSomeData(..)
ViewBag.ConfigSettings = configList;
return View();
}
我的Index.cshtml:
<div>
<div class="row">
@foreach (var elements in ViewBag.configSettings)
{
<div class="col-md-8 checkbox">
/*I NEED A BUTTON HERE*/
<label>
<input type="checkbox">@elements.Item1
</label>
</div>
foreach (var listElement in elements.Item2)
{
<div class="col-md-8 col-md-offset-1 checkbox">
<label>
<input type="checkbox">@listElement
</label>
</div>
}
}
</div>
</div>
列表中的每个键字符串都包含一个字符串列表。 (看看var configList) 在我看来,我希望每个键字符串都有一个按钮,它应该能够打开或关闭相应键字符串的指定列表。我目前使用ASP.NET-MVC。我该怎么编程呢?在C#或者我需要使用JS吗?我真的不知道。提前谢谢。
答案 0 :(得分:1)
您可以使用bootstrap Accordion或bootstrap可折叠面板。 下面的代码使用bootstrap可折叠面板。
<div>
<div class="row">
@foreach (var elements in ViewBag.configSettings)
{
<div class="col-md-8 checkbox">
/*I NEED A BUTTON HERE*/
<label>
<input type="checkbox" data-toggle="collapse" data-target="#@elements.Item1">@elements.Item1
</label>
</div>
foreach (var listElement in elements.Item2)
{
<div class="col-md-8 col-md-offset-1 checkbox collapse" id="@elements.Item1">
<label>
<input type="checkbox">@listElement
</label>
</div>
}
}
</div>