等效于非错误的ModelState

时间:2014-05-11 01:01:18

标签: asp.net-mvc validation

我非常喜欢在提交表单时ModelState字典的工作原理(如果发生错误,如何添加错误,然后在表单重新加载时显示错误)。

然而,对于非错误消息呢?例如,如果我想在提交后加载相同的表单,是否有标准方式显示表单已成功提交的消息?

1 个答案:

答案 0 :(得分:3)

看看TempData。它是一个有利于后续请求的键/值存储,然后被销毁。

以下是关于何时使用它与ViewDataViewBag的好文章。

http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications

但是,您应该将强类型的ViewModel返回到您的视图,因此您可以拥有一个可以在其上包含消息字典的基本ViewModel:

public class ViewModelBase
{
    public Dictionary<string,string> Messages { get; set; }
}

使用一点扩展方法,您可以在视图中显示一个非常简单的API:

@Model.Messages.DisplayAll()

你必须实施DisplayAll(),但你得到了要点。