2012-05-30 149 views
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請求您發佈您的模型。