1

我的DropDownListFor下面的代码,并正在确定MVC3剃刀的SelectedValue在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

+0

我会在模型上使用属性(例如'SelectedHabilitaco' - 无论是什么;))。并将其用作'DropDownListFor'的第一个参数 - 就像在这个答案中一样:http://stackoverflow.com/questions/3386998/dropdownlistfor-display-a-simple-list-of-strings/3387210#3387210(参见更新2 )。 – Yakimych

回答

2

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

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

,然后在你的控制器:

model.SelectedHabilitacoes = "123" 
0

DropdownListFor具有过载来完成这项

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

通常你会去

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

所选值将被自动绑定到下拉列表中,并且会自动发布模型ID值

如果这无助于id请求您发布您的模型。