在 dropdownlistfor() 上出现一些奇怪的行为,但它使用的是一个列表,所以也许我有问题
代码很简单
@for (int i = 0; i < Model.Phones.Count; i++ )
{
<tr>
<td>@Html.TextBoxFor(m => m.Phones[i].Num)</td>
<td>@Html.DropDownListFor(m => m.Phones[i].Typ, list1 )</td>
</tr>
}
其中 list1 在 .cshtml 本身中定义为
string[] types = new string[] { "Office", "Mobile", "Home" };
List<SelectListItem> list1 = new List<SelectListItem>();
foreach(var t in types){
list1.Add(new SelectListItem{Text = t, Value = t });
问题是下拉列表中没有选择正确的值
而下拉菜单应该是 Mobile、Office、Home
代码很普通,它是标准的 html.DropdownListFor() 助手,所以看起来它没有在标签上生成正确的选定属性!
是什么赋予了 ?