Я использую проверку состояния модели. Поэтому, когда есть ошибка, я хочу вернуть пользователю ту же самую модель, которая была заполнена. Однако у моей формы есть 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 я просто переполняю список выбора, но мне было любопытно, был ли другой способ, поскольку мои поиски ничего не придумали.
Нет. Это правильный путь. Вам нужно повторно заполнить список, потому что http является апатридом – Shyju