我正在使用MVC 5。
我有一个ViewBag用于列表,如下:
ViewBag.TitleList = new SelectList((new string[] { "Mr", "Miss", "Ms", "Mrs" }), contact.Title);
//contact.Title has selected value.
然后我尝试将数组转换为 SelectListItem
(但没有成功)
在视图中,它看起来像是
@Html.DropDownListFor(model => model.Title, ViewBag.TitleList as SelectList, "Select")
我也尝试过
@Html.DropDownList("Title", ViewBag.TitleList as SelectList, "Select")
列表已成功加载,但未选择选定的值
。如何解决这个问题?
更新 罪魁祸首是ViewBag.Title与我的model.Title匹配。将我的model属性重命名为其他名称即可解决。Arrgh!
model.Title
的值为(例如)“Miss”,则将选择第二个选项(您不需要在SelectList
构造函数中使用第二个参数)。检查Title
的值是否精确地匹配一个选项值。使用@Html.DropDownListFor()
。 - user3559349