代码之家  ›  专栏  ›  技术社区  ›  Oundless

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

  •  6
  • Oundless  · 技术社区  · 15 年前

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

    如果不在控制器中进行操作并将其添加到查看数据中,如何找出错误数?

    2 回复  |  直到 5 年前
        1
  •  18
  •   tvanfosson    15 年前

    我想你是说从这个角度看。以下内容未经测试。

    ViewData.ModelState.Values.Where( v => v.Errors.Count != 0 ).Count()
    
        2
  •  2
  •   Robert Harvey    15 年前

    如果您指的是ASP.NET MVC 1.0版本 IEnumerable<RuleViolation>

    var errorCount = GetRuleViolations().Count();
    

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

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

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

        3
  •  1
  •   David    5 年前

    你也可以用更简单的方法

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