Asp.net mvc MVC3 Razor在DropDownList中选择的值
我有一个Asp.net mvc MVC3 Razor在DropDownList中选择的值,asp.net-mvc,vb.net,asp.net-mvc-3,razor,html.dropdownlistfor,Asp.net Mvc,Vb.net,Asp.net Mvc 3,Razor,Html.dropdownlistfor,我有一个DropDownListFor的以下代码,工作正常 @Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"}) ViewBag.Habilitacoes是一个列表(共T个) 但是我知道我想将SelectedValue添加到DropDownLi
DropDownListFor
的以下代码,工作正常
@Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"})
ViewBag.Habilitacoes
是一个列表(共T个)
但是我知道我想将SelectedValue
添加到DropDownListFor
,所以我使用了以下代码,但不起作用
@Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL", model.Habilitacoes), New With {.class = "FillHSpace"})
如何声明
SelectedValue
?您不应使用与DropDownList for helper的第一个和第二个参数相同的属性。第一个参数是标量属性,第二个参数是集合:
@Html.DropDownListFor(Function(model) model.SelectedHabilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"})
然后在控制器中:
model.SelectedHabilitacoes = "123"
DropdownListFor有重载来完成此任务
DropDownListFor([SelectedValue], [SelectList], optional HTML Attributes)
通常你会去
DropDownListFor(model => model.ID, (SelectList)ViewsBag.MySelectList, optional HTML Attributes)
选定的值将自动绑定到下拉列表,并将自动发布model.ID值
如果这没有帮助,我会要求您发布您的模型。我会在模型上使用属性(例如,SelectedHabilitaco
-不管是什么;)。并将其用作DropDownListFor
-的第一个参数,如本答案所示:(参见更新2)。