摘要
对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。
[Asp.net mvc]Html.ValidationSummary(bool)
原文地址:https://www.cnblogs.com/wolf-sun/p/8442560.html