2010-02-10 31 views

回答

17

我假設你的意思是從視圖。以下是未經測試的。

ViewData.ModelState.Values.Where(v => v.Errors.Count != 0).Count() 
+0

考慮它測試。它很有用,謝謝。 – 2010-02-10 17:44:43

2

如果你指的是ASP.NET MVC 1.0版本的IEnumerable<RuleViolation>,就可以得到數是這樣的:

var errorCount = GetRuleViolations().Count(); 

要獲得數裝入視圖,而無需將其放入視圖數據,可以,您可以爲ValidationSummary HtmlHelper擴展方法創建一個重載,該方法返回包含錯誤計數的文本。這使您可以從擴展方法內訪問錯誤計數。

要查看原始ValidationSummary擴展方法中的代碼,可以使用Reflector對其進行反編譯,或者從Codeplex下載ASP.NET MVC源代碼。

請注意,ASP.NET MVC 2.0中的驗證機制已經發生了很大變化。

+0

謝謝,但它的MVC 2.0 – 2010-02-10 17:43:42

相關問題