DropdownListFor中的MVC3 Razor SelectedValue

时间:2012-05-30 14:20:48

标签: 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.HabilitacoesList(Of T)

但是我知道我想将SelectedValue添加到DropDownListFor,所以我使用了以下代码但不起作用。

@Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL", model.Habilitacoes), New With {.class = "FillHSpace"})

如何声明SelectedValue

2 个答案:

答案 0 :(得分:2)

您不应该使用与DropDownListFor帮助器的第一个和第二个参数相同的属性。第一个参数是标量属性,第二个参数是集合:

@Html.DropDownListFor(Function(model) model.SelectedHabilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"})

然后在你的控制器中:

model.SelectedHabilitacoes = "123"

答案 1 :(得分:0)

DropdownListFor有重载来完成这个

DropDownListFor([SelectedValue], [SelectList], optional HTML Attributes)

通常你会去

DropDownListFor(model => model.ID, (SelectList)ViewsBag.MySelectList, optional HTML Attributes)

所选值将自动绑定到下拉列表,并自动发布到model.ID值

如果这没有帮助id,请您发布您的模型。