Подтвердить что ты не робот

MVC - изменить значение модели в поле зрения

У меня есть представление, которое отображает некоторые данные из модели. Я передаю кнопку, в которой событие onClick должно изменить значение модели, и я передаю модель с разными значениями, но мои значения в TextBoxFor остаются такими же, как и при загрузке страницы. Как я могу их изменить?

4b9b3361

Ответ 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);
}