繁体   English   中英

如何找出 ASP.NET MVC 视图中的错误计数?

[英]How do I find out the error count in a ASP.NET MVC View?

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

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

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

我假设你的意思是从观点来看。 以下内容未经测试。

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

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

var errorCount = GetRuleViolations().Count();

要将该计数放入视图而不将其放入视图数据中,您可以为 ValidationSummary HtmlHelper 扩展方法创建一个重载,该方法返回包含错误计数的文本。 这使您可以从扩展方法中访问错误计数。

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

请注意,ASP.NET MVC 2.0 中的验证机制发生了很大变化。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM