摘要
对ValidationSummary是HtmlHelper的扩展方法,用来返回 System.Web.Mvc.ModelStateDictionary (即ModelState)对象中的验证消息的未排序列表(ul 元素)。
一个例子
@Html.ValidationSummary(true):告知辅助方法排除属性级别的错误。换而言之,就是告知ValidationSummary方法只显示ModelState中与模型本身相关的错误,而不显示那些与具体模型属性相关的错误。false,会显示当前模型的所有错误。
定义
//
// 摘要:
// 返回 System.Web.Mvc.ModelStateDictionary 对象中验证消息的未排序列表(ul 元素),还可以选择仅显示模型级错误。
//
// 参数:
// htmlHelper:
// 此方法扩展的 HTML 帮助器实例。
//
// excludePropertyErrors:
// true 表示使摘要仅显示模型级错误;false 表示使摘要显示所有错误。
//
// 返回结果:
// 一个字符串,其中包含验证消息的未排序列表(ul 元素)。
public static MvcHtmlString ValidationSummary(this HtmlHelper htmlHelper, bool excludePropertyErrors);
true 表示使摘要仅显示模型级错误;false 表示使摘要显示所有错误。
测试
public ActionResult Test()
{
ModelState.AddModelError("", "这是一个错误");
ModelState.AddModelError("Name", "无名很有名,但必须写");
return View();
}
<div>
@Html.ValidationSummary(true)
</div>
结果
如果修改为false
通过这两种情况,也说明
true 表示使摘要仅显示模型级错误;false 表示使摘要显示所有错误。
总结
第一个是模型级错误,因为代码中错误没有提供与特定属性关联的键(或一个空键)。第二个是与Name属性相关联的错误,所以在true的情况下,是不会显示的,除非将参数Name删除,或者改为false。