我有一个在控制器中创建的列表:
var PayList = new[] {
new ListEntry { Id = 1, Name = "" },
new ListEntry { Id = 2, Name = "Yes" },
new ListEntry { Id = 3, Name = "No" }
};
ViewBag.PayList = new SelectList(PayList, "Id", "Name");
在我看来,有以下几点:
@Html.DropDownList("Pay", new SelectList(ViewBag.PayList,"Id","Name"))
当我尝试显示它时,它显示以下内容:
DataBinding:“System.Web.Mvc.SelectListItem”不包含名称为“Id”的属性。不知道为什么这不起作用。
另外,如何为选择列表设置默认值。我喜欢将其默认为“是”。我认为有一种方法可以从控制器中做到这一点。
Your ViewBag.PayList
已经是类型SelectList
。我没有看到创建的理由SelectList
两次,所以不应该只是:
@Html.DropDownList("Pay", ViewBag.PayList)
or
@Html.DropDownList("Pay", ViewBag.PayList as SelectList)
(我从来没有使用过 ViewBag,所以我不确定你的版本是否是强类型的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)