在我的Controller中,我创建了一个名为OptionList的viewbag属性,其中我创建了一个字符串,其中包含了一些我想在视图中使用的selectpicker的选项。
foreach(Uren_IssueType type in IssueType_List)
{
optionList = optionList + "<option>" + type.TypeNaam + "</option>";
}
ViewBag.OptionList = optionList;
因为它是一个动态创建的selectpicker(它是网格中每一行的一部分,可以在其中添加和删除行),我想将此选项列表添加到创建selectpicker的字符串中。
<td width=\"125\">
<select class=\"form-control\" id=\"selectpicker\" name='selectpicker'>
@ViewBag.OptionList
</select>
</td>
但是这段代码确实有用,只显示选项。它显示一个空的下拉列表。有人可以帮我解决如何从viewbag字符串创建这个selectpicker列表的问题吗?
答案 0 :(得分:0)
您需要遍历viewbag中的项目。 类似的东西:
<td width=\"125\">
<select class=\"form-control\" id=\"selectpicker\" name='selectpicker'>
@foreach(var item in ViewBag.OptionList)
{
<option value="@item">@item</option>
}
</select>
</td>
ViewBag的创建方式如下:
List<string> items=new List<string>();
foreach(Uren_IssueType type in IssueType_List)
{
items.Add(type.TypeNaam)
}
ViewBag.OptionList = items;
答案 1 :(得分:0)
要从字符串中呈现Html,请使用Html.Raw
。
@Html.Raw(@ViewBag.OptionList)
但是,更多Asp.Net MVC这样做的方式是using DropdownList(或DropDownListFor)从模型中呈现内容,而不是在字符串中构建HTML。