У меня есть представление, которое отображает некоторые данные из модели. Я передаю кнопку, в которой событие onClick должно изменить значение модели, и я передаю модель с разными значениями, но мои значения в TextBoxFor остаются такими же, как и при загрузке страницы. Как я могу их изменить?
MVC - изменить значение модели в поле зрения
Ответ 1
Как работают HTML-помощники, и это по дизайну. Сначала они будут выглядеть в данных POSTED, а затем в модели. Например, если у вас есть:
<% using (Html.BeginForm()) { %>
<%= Html.TextBoxFor(x => x.Name) %>
<input type="submit" value="OK" />
<% } %>
который вы отправляете в следующее действие:
[HttpPost]
public ActionResult Index(SomeModel model)
{
model.Name = "some new name";
return View(model);
}
при повторном просмотре будет использовано старое значение. Одним из возможных способов обхода является удаление значения из ModelState:
[HttpPost]
public ActionResult Index(SomeModel model)
{
ModelState.Remove("Name");
model.Name = "some new name";
return View(model);
}