我以前遇到过这个问题而且它让我感到很生气,但我不能为我的生活记住问题所在。
我有一个控制器......
public ActionResult SubmitApplication(ApplicationModel model)
{
return View("Index", model);
}
视图
@model ApplicationModel
@using (Html.BeginRouteForm(null, null, FormMethod.Post, new { action = "/apply/SubmitApplication" }))
@Html.TextBoxFor(model => model.Email)
<input type="submit" text="submit"/>
}
我坚持使用action方法,输入的电子邮件正在传递给action方法没问题。但是......无论发生什么事情,控制器都会在某些时候清除电子邮件,当它传送到页面时我最终会收到一个空的电子邮箱。但我希望保留它,以便用户无需再次输入所有信息。我在这里缺少什么?
由于
编辑:
对不起家伙我有一个错误的水印工具,掩盖了响应,但是仍有一个奇怪的问题.....当我这样做....
[HttpPost]
public ActionResult Apply(ApplicationModel model)
{
return View("Index",new ApplicationModel(){FullName = "newValue"});
}
而不是获得&#34; newValue&#34;在页面上,我仍然获得原始发布值。任何人都能解释一下吗?是与模型状态有关吗?
答案 0 :(得分:1)
视图助手检查,如果模型状态中存在匹配项,则使用此值(如果存在)。在大多数情况下,此值是用户在发布之前键入的值。如果要强制视图助手使用传递的模型,则应清除模型状态。