Ruc*_*han 8 c# asp.net-mvc selectlist html.dropdownlistfor asp.net-mvc-5
我正在使用MVC 5.
我有我的ViewBag列表
ViewBag.TitleList = new SelectList((new string[] { "Mr", "Miss", "Ms", "Mrs" }), contact.Title);
//contact.Title has selected value.
Run Code Online (Sandbox Code Playgroud)
然后我尝试将数组转换为 SelectListItem ( to no avail)
在视图上它看起来像
@Html.DropDownListFor(model => model.Title, ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)
我也试过了
@Html.DropDownList("Title", ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)
列表加载成功但是Selected Value is Not selected.如何解决这个问题?
更新 罪魁祸首是ViewBag.Title匹配我的模型.标题.将我的模型属性重命名为其他内容并且有效.Arrgh!
Zab*_*sky 10
设置Title控制器中属性的值:
ViewBag.TitleList = new SelectList(new string[] { "Mr", "Miss", "Ms", "Mrs" });
viewModel.Title = "Miss"; // Miss will be selected by default
Run Code Online (Sandbox Code Playgroud)
另一个可能的原因(以及基于以下评论的正确原因)ViewData["Title"]是被另一个值覆盖的原因.将Title属性的名称更改为任何其他名称,一切都应该有效.