我非常喜欢在提交表单时ModelState字典的工作原理(如果发生错误,如何添加错误,然后在表单重新加载时显示错误)。
然而,对于非错误消息呢?例如,如果我想在提交后加载相同的表单,是否有标准方式显示表单已成功提交的消息?
答案 0 :(得分:3)
看看TempData
。它是一个有利于后续请求的键/值存储,然后被销毁。
以下是关于何时使用它与ViewData
和ViewBag
的好文章。
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()
,但你得到了要点。