對ValidationSummary是HtmlHelper的擴展方法,用來返回 System.Web.Mvc.ModelStateDictionary (即ModelState)對象中的驗證消息的未排序列表(ul 元素)。html
@Html.ValidationSummary(true):告知輔助方法排除屬性級別的錯誤。換而言之,就是告知ValidationSummary方法只顯示ModelState中與模型自己相關的錯誤,而不顯示那些與具體模型屬性相關的錯誤。false,會顯示當前模型的全部錯誤。測試
定義this
// // 摘要: // 返回 System.Web.Mvc.ModelStateDictionary 對象中驗證消息的未排序列表(ul 元素),還能夠選擇僅顯示模型級錯誤。 // // 參數: // htmlHelper: // 此方法擴展的 HTML 幫助器實例。 // // excludePropertyErrors: // true 表示使摘要僅顯示模型級錯誤;false 表示使摘要顯示全部錯誤。 // // 返回結果: // 一個字符串,其中包含驗證消息的未排序列表(ul 元素)。 public static MvcHtmlString ValidationSummary(this HtmlHelper htmlHelper, bool excludePropertyErrors);
true 表示使摘要僅顯示模型級錯誤;false 表示使摘要顯示全部錯誤。
測試spa
public ActionResult Test() { ModelState.AddModelError("", "這是一個錯誤"); ModelState.AddModelError("Name", "無名頗有名,但必須寫"); return View(); }
<div> @Html.ValidationSummary(true) </div>
結果code
若是修改成falsehtm
經過這兩種狀況,也說明對象
true 表示使摘要僅顯示模型級錯誤;false 表示使摘要顯示全部錯誤。blog
第一個是模型級錯誤,由於代碼中錯誤沒有提供與特定屬性關聯的鍵(或一個空鍵)。第二個是與Name屬性相關聯的錯誤,因此在true的狀況下,是不會顯示的,除非將參數Name刪除,或者改成false。排序