今天在使用MVC的下拉控件时,为其绑定数据使用了SelectList,但在修改数据的时候,默认值居然绑定失败?后来经过多番研究,原因在于控制器中提供的数据源变量名称和视图中下拉列表框的name名称一致了,导致绑定数据失败。
解决办法:将数据源变量名称和视图中下拉列表的name名称保持不一致即可。
控制器代码:
ViewBag.ModuleTypes = new SelectList(EnumHelper.GetItemValueList<ModuleType>(), "Key", "Value");
试图代码:
@Html.ExtDropDown(m => m.ModuleType, (SelectList)ViewBag.ModuleTypes, new { })
说明:在上述的试图代码中,“ModuleType”就为下拉列表框的name值,“ModuleTypes”就为数据源变量名称。