在MVC 3应用程序中,我在控制器中有一些条件元素。例如,我有一个数字说“10”符合模型状态要求但我有一个if语句检查另一个表中是否存在数字“10”。如果存在,则数据被提交但如果不存在,则返回视图并希望返回错误消息。
我的问题是在这种情况下显示错误的最佳方法是什么。我已经看过返回一个viewbag消息,但是我想用一个框来设置错误消息的样式,并且通过将这个样式添加到视图中它总是显示出来是一个问题。
答案 0 :(得分:4)
您可以将错误消息添加到模型状态:
ModelState.AddModelError("somekey", "some error message");
并在视图中使用验证摘要帮助程序显示错误消息:
@Html.ValidationSummary(false)
您当然可以在视图模型中添加字符串属性,并在出现错误时设置其值。然后在视图内部检查model属性是否具有值,以及它是否在自定义样式元素中显示错误消息。假设您可以简单地将错误消息附加到模型状态但值得一提,这似乎有点像轮子改造。