解决方法
这就是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); }