Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET MVC视图中查找错误计数?_C#_Asp.net_Asp.net Mvc_Razor_Validationsummary - Fatal编程技术网

C# 如何在ASP.NET MVC视图中查找错误计数?

C# 如何在ASP.NET MVC视图中查找错误计数?,c#,asp.net,asp.net-mvc,razor,validationsummary,C#,Asp.net,Asp.net Mvc,Razor,Validationsummary,我想使用如下字符串格式化验证摘要的标题: "There are {0} errors on this page." 如何在不在控制器中执行并将其添加到查看数据中的情况下找出错误数?如果您指的是ASP.NET MVC 1.0版的IEnumerable,可以通过以下方式获得计数: var errorCount = GetRuleViolations().Count(); 要在不将该计数放入视图数据的情况下将其放入视图,可以为ValidationSummary HtmlHelper扩展方法创建重载

我想使用如下字符串格式化验证摘要的标题:

"There are {0} errors on this page."

如何在不在控制器中执行并将其添加到查看数据中的情况下找出错误数?

如果您指的是ASP.NET MVC 1.0版的
IEnumerable
,可以通过以下方式获得计数:

var errorCount = GetRuleViolations().Count();
要在不将该计数放入视图数据的情况下将其放入视图,可以为ValidationSummary HtmlHelper扩展方法创建重载,该方法返回包含错误计数的文本。这使您可以从扩展方法中访问错误计数

要查看原始ValidationSummary扩展方法中的代码,可以使用Reflector对其进行反编译,或者从Codeplex下载ASP.NET MVC源代码


请注意,ASP.NET MVC 2.0中的验证机制已经发生了实质性的变化。

我想您的意思是从视图来看。以下内容未经测试

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

您还可以使用更简单的方法

@if (ViewData.ModelState.ErrorCount > 0)
{
  ...
}