【发布时间】:2017-02-09 06:44:47
【问题描述】:
我有一个包含下拉列表的列的 Webgrid:
@Html.DropDownList("abc", new SelectList(Model.holdTypes),@item.holdType,"")
这里的Model.holdTypes 是String List。 @item.holdType 包含需要选择的文本。
【问题讨论】:
标签: c# asp.net-mvc razor webgrid
我有一个包含下拉列表的列的 Webgrid:
@Html.DropDownList("abc", new SelectList(Model.holdTypes),@item.holdType,"")
这里的Model.holdTypes 是String List。 @item.holdType 包含需要选择的文本。
【问题讨论】:
标签: c# asp.net-mvc razor webgrid
您使用了错误的重载。你应该使用这个版本。
@Html.DropDownList("abc", new SelectList(Model.holdTypes,item.holdType))
虽然这将呈现带有选定选项的 SELECT 元素,但它会生成一个只有文本的 SELECT 元素,选项项不会有 value 属性。因此,如果您打算将选定的选项值提交到表单,这种方法可能不是很有用。您可以为该用例使用其他版本。
@Html.DropDownList("abc",
new SelectList(Model.holdTypes.Select(v=>new SelectListItem { Value = v,
Text = v}),"Value","Text",item.holdType))
【讨论】:
item.holdType 属性值是Model.holdTypes 中的项目之一,它就应该工作(我刚刚复制并粘贴了我在答案中发布的行,它工作正常)