为什么赢得我的控制器只是将模型保持不变?

时间:2013-09-02 09:30:12

标签: asp.net-mvc asp.net-mvc-4

我以前遇到过这个问题而且它让我感到很生气,但我不能为我的生活记住问题所在。

我有一个控制器......

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;在页面上,我仍然获得原始发布值。任何人都能解释一下吗?是与模型状态有关吗?

1 个答案:

答案 0 :(得分:1)

视图助手检查,如果模型状态中存在匹配项,则使用此值(如果存在)。在大多数情况下,此值是用户在发布之前键入的值。如果要强制视图助手使用传递的模型,则应清除模型状态。