繁体   English   中英

如何在asp.net mvc中回复后清除字段?

[英]How to clear fields after post back in asp.net mvc?

我想知道如何在asp.net mvc中回发后清除字段? 就像现在当发生验证错误时,字段保持填充用户输入的任何内容。 这很好,但是当没有发生验证错误时,我希望清除所有字段并显示一条消息。

所以现在我通过使用ViewData显示成功,但不知道如何清除字段。

尝试这个:

if(ModelState.IsValid)
{
    ModelState.Clear();
}
return View();

菲尔哈克说:

试着打电话

ModelState["value1"].Value = new
ValueProviderResult(null,
string.Empty,
CultureInfo.InvariantCulture);

从控制器操作中返回视图之前。

这样做是保留与键“value1”相关的所有错误,但用空值替换该值。

从这个SO问题

听起来像PRG(Post Redirect Get)模式的工作,因为您不希望用户刷新页面并再次提交。

为此,我会在您的TempData中放置一条消息或标志,以便您可以在重定向回原始URL时检查该消息或标志,然后向用户显示消息。

在视图中回发模型时,可以指定模型,新参考。
像这样的东西。

    if (ModelState.IsValid)
    {
        //Do your stuff here. 

        yourModel = new Moodel();
        return View(yourModel);

    }

在这种情况下,所有模型字段都将为空,并且不会在表单中显示任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM