我正在尝试使用 Razor 视图引擎在 MVC4 应用程序中创建经过客户端验证的下拉列表。
视图中生成下拉列表的代码如下:
@Html.DropDownList("Test", new SelectList(ViewBag.AvailableLoBsDescriptions, ViewBag.AvailableLoBsIds), "--none--")
请注意,ViewBag.AvailableLoBsDescriptions 是使用 IList 在控制器中创建的,而 ViewBag.AvailableLoBsIds 也是使用 IList 在控制器中创建的。
我期望发生的是让 Razor 生成一个下拉菜单,其中描述填充每个的内部 html,而 Ids 填充 value="..."。但是,根本没有产生任何价值,导致这样的事情:
<select id="Test" name="Test"><option value="">--none--</option>
<option>N/A</option>
<option>aaaa</option>
<option>bbbb</option>
<option>cccc</option>
<option>dddd</option>
<option>eeee</option>
<option>ffff</option>
</select>
查看 SelectList 文档http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist%28v=vs.108%29.aspx在我看来这应该可行。有谁知道为什么除了占位符之外没有为其他任何东西生成值?
谢谢!