1

Я следующий код для DropDownListFor и работает нормальноMVC3 Razor SelectedValue в DropdownListFor

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

В ViewBag.Habilitacoes является List(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) 

Выбранное значение будет автоматически привязано к выпадающему списку и автоматически опубликует значение model.ID

Если это не поможет вам спросить вас, разместите свою модель.

Смежные вопросы