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