检查Html.ValidationSummary()是否有值

sto*_*oic 31 asp.net-mvc-2

如何检查Html.ValidationSummary()是否有任何错误?

最终结果要求:

<% if(I_HAVE_ERRORS) {%>
<div><%= Html.ValidationSummary() %></div>
<%}%>
Run Code Online (Sandbox Code Playgroud)

换句话说,我如何确定"I_HAVE_ERRORS"?

sto*_*oic 56

<%if (!Html.ViewData.ModelState.IsValid){%>
Run Code Online (Sandbox Code Playgroud)


PaR*_*RaJ 7

使用razor语法

@if (!Html.ViewData.ModelState.IsValid)
{
    // show error
}
Run Code Online (Sandbox Code Playgroud)

或者你可以把它作为一种扩展方法包装起来

public static bool HasErrors(this HtmlHelper helper)
{
    return helper.ViewData.ModelState.IsValid == false;
}
Run Code Online (Sandbox Code Playgroud)

用它作为

@if (Html.HasError())
{
    // show error
}
Run Code Online (Sandbox Code Playgroud)