Javascript 在视图中使用viewbag
在我的控制器中,我创建了一个名为OptionList的viewbag属性,在该属性中,我创建了一个字符串,其中包含一些我想在视图中使用的选择器选项Javascript 在视图中使用viewbag,javascript,c#,asp.net-mvc,asp.net-mvc-3,Javascript,C#,Asp.net Mvc,Asp.net Mvc 3,在我的控制器中,我创建了一个名为OptionList的viewbag属性,在该属性中,我创建了一个字符串,其中包含一些我想在视图中使用的选择器选项 foreach(Uren_IssueType type in IssueType_List) { optionList = optionList + "<option>" + type.TypeNaam + "</option>"; } ViewBag.OptionList = optionList; foreach
foreach(Uren_IssueType type in IssueType_List)
{
optionList = optionList + "<option>" + type.TypeNaam + "</option>";
}
ViewBag.OptionList = optionList;
foreach(发布类型列表中的Uren\u发布类型)
{
optionList=optionList+“”+type.TypeNaam+“”;
}
ViewBag.OptionList=OptionList;
因为它是一个动态创建的selectpicker(它是网格中每一行的一部分,在网格中可以动态添加和删除行),所以我想将此optionlist添加到创建selectpicker的字符串中
<td width=\"125\">
<select class=\"form-control\" id=\"selectpicker\" name='selectpicker'>
@ViewBag.OptionList
</select>
</td>
@ViewBag.OptionList
但此代码仅在不显示选项时有效。它显示一个空的下拉列表。有人可以帮助我如何从viewbag字符串创建此选择器选择器列表吗?您需要遍历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>
@foreach(ViewBag.OptionList中的var项)
{
@项目
}
而ViewBag的创建方式应如下所示:
List<string> items=new List<string>();
foreach(Uren_IssueType type in IssueType_List)
{
items.Add(type.TypeNaam)
}
ViewBag.OptionList = items;
List items=newlist();
foreach(发布类型列表中的Uren_发布类型)
{
items.Add(type.TypeNaam)
}
ViewBag.OptionList=项目;
要从字符串呈现Html,请使用Html.Raw
@Html.Raw(@ViewBag.OptionList)
但是,Asp.Net MVC更适合这样做的方式是(或DropDownListFor)从模型中呈现某些内容,而不是在字符串中构建HTML。为什么要使用viewbag?阅读以下内容:为什么不使用SelectListItem列表并将列表存储在ViewBag中?然后将ViewBag绑定到dropdownlist。我对原始行执行了此操作。但是我使用字符串来动态添加新行。如果使用字符串,这将不起作用,因为在视图中使用这样的viewbag会导致语法错误。但是我们需要帮助