【发布时间】:2012-08-24 15:40:45
【问题描述】:
所以我有以下(伪代码):
string selectedvalud = "C";
List<SelectListItem> list= new List<SelectListItem>();
foreach(var item in mymodelinstance.Codes){
list.Add(new SelectListItem { Text = item.Name, Value = item.Id.Tostring(), Selected = item.Id.ToString() == selectedvalue ? true : false });
}
ViewBag.ListOfCodes = list;
在我看来:
<%: Html.DropDownList("Codes", (List<SelectListItem>)ViewBag.ListOfCodes , new { style = "max-width: 600px;" })%>
现在,在它到达视图之前,“列表”已经用项目填充它并标记了已经选择的项目。但是当它到达视图时,没有一个选项被标记为选中。
我的问题是,是否可以使用 viewbag 来传递物品,还是应该使用不同的媒介?因为如果我以这种方式使用它,它会删除选项上的选定标志。
【问题讨论】:
-
您能否在控制器中设置断点并仔细检查
list中的至少一项是否已标记为Selected = true;?我不认为 ViewBag 会影响您的列表。 -
是的,我这样做了,它标志着正确的选择。
标签: asp.net-mvc html.dropdownlistfor viewbag html-select