2010-02-10 33 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

相关问题