MVC/Rzor:文本框应该在回发后显示NO值

ste*_*jnl 1 c# asp.net asp.net-mvc razor asp.net-mvc-4

在MVC表单发布方案中,我希望在将数据发布到服务器之后有一个空文本框,并且该页面再次提供给用户.现在,发布的用户名显示在回发后的文本框中.

@using (Html.BeginForm("SignIn", "Account", FormMethod.Post))
{
    @Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @type = "email", required = "", pattern = "^", @placeholder = "E-mail", @title = "", @id = "UserName", data_hint = "Required"})
}
Run Code Online (Sandbox Code Playgroud)

首先,包含用户名的模型被发送回表单,所以我认为这导致了它.我现在发回一个"干净"的模型,甚至强制空的用户名,但这也没有帮助.

return View("SignIn", "_Layout", new ViewModel
{
    UserName = ""
});
Run Code Online (Sandbox Code Playgroud)

如何在回发后获得空文本框?

Sat*_*pal 6

ModelState.Clear()在设定值之前使用.将模型发布回ActionResult并返回相同的View时,模型对象的值包含在ModelState中.

然后返回新模型,

ModelState.Clear();
return View("SignIn", "_Layout", new ViewModel());
Run Code Online (Sandbox Code Playgroud)