2016-10-13 7 views
0

Я использую проверку состояния модели. Поэтому, когда есть ошибка, я хочу вернуть пользователю ту же самую модель, которая была заполнена. Однако у моей формы есть html.DropDownListFor.MVC html.DropdownFor: привязка списка и выбора

@Html.DropDownListFor(x => x.Item.SelectedId, Model.ItemList) 

Выпадающий список будет ошибка о том, что мой список выбора (Model.ItemList) равна нулю. Это связано с тем, что dropDownListFor правильно привязал выбранное значение, но теперь этот список имеет значение null для моего действия post. Есть ли способ по умолчанию решить эту проблему. С самим списком привязка и выбранное значение.

Я знаю, что я мог бы сделать html.HiddenFor и связать весь список с как что-то вроде:

<input name="name[0].Id" type="text" /> 
<input name="name[1].Id" type="text" /> 
<input name="name[2].Id" type="text" /> 

Или я мог бы даже написать свое собственное расширение, чтобы сделать это для меня.

Прямо сейчас в post action я просто переполняю список выбора, но мне было любопытно, был ли другой способ, поскольку мои поиски ничего не придумали.

+2

Нет. Это правильный путь. Вам нужно повторно заполнить список, потому что http является апатридом – Shyju

ответ