我想知道如何在asp.net mvc中回传后清除字段?就像现在发生验证错误一样,字段保持填充用户输入的任何内容。这很好,但是,当没有发生验证错误时,我想要清除所有字段并显示一条消息。如何在asp.net mvc中回发后清除字段?
所以现在我通过使用ViewData成功显示,但不知道如何让字段清除。
我想知道如何在asp.net mvc中回传后清除字段?就像现在发生验证错误一样,字段保持填充用户输入的任何内容。这很好,但是,当没有发生验证错误时,我想要清除所有字段并显示一条消息。如何在asp.net mvc中回发后清除字段?
所以现在我通过使用ViewData成功显示,但不知道如何让字段清除。
听起来像是为PRG (Post Redirect Get) pattern一份工作,因为你不希望用户刷新页面,并再次提交。
为此,我会在您的TempData中放置一条消息或标志,以便您可以检查当您重定向回原始URL然后向用户显示消息。
菲尔哈克说:
尝试调用
ModelState["value1"].Value = new
ValueProviderResult(null,
string.Empty,
CultureInfo.InvariantCulture);
你从内 您的控制器动作返回视图之前。
这样做是保持与键值“value1”关联的所有错误 ,但 用空值 替换该值。
当您在视图中发回模型时,您可以分配模型,新参考。
就是这样。
if (ModelState.IsValid)
{
//Do your stuff here.
yourModel = new Moodel();
return View(yourModel);
}
在这种情况下,所有模型字段将为空,并且没有任何内容会显示在窗体上。
试试这个:
if(ModelState.IsValid)
{
ModelState.Clear();
}
return View();
可能还需要设置你的ModelState错误,该行后:) – stuartdotnet 2014-10-20 00:33:15
这不起作用,ModelState.Clear(),但是确实 – 2015-08-25 12:24:03