[聚合文章] [Asp.net mvc]Html.ValidationSummary(bool)

.Net 2018-02-11 4 阅读

摘要

对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。

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。