Проверьте, имеет ли значение Html.ValidationSummary() значение Как проверить, есть ли у Html.ValidationSummary() какие-либо ошибки? Требуемый конечный результат: <% if(I_HAVE_ERRORS) {%> <div><%= Html.ValidationSummary() %></div> <%}%> Другими словами, как я могу определить "I_HAVE_ERRORS"? Ответ 1 <%if (!Html.ViewData.ModelState.IsValid){%> Ответ 2 Чтобы использовать синтаксис razor @if (!Html.ViewData.ModelState.IsValid) { // show error } или вы можете завершить его как метод расширения public static bool HasErrors(this HtmlHelper helper) { return helper.ViewData.ModelState.IsValid == false; } Используйте его как @if (Html.HasError()) { // show error } Ответ 3 На самом деле, я думаю, что наиболее правильный способ проверки ошибок валидации (а не только автоматически сгенерированных на основе модели) был бы; @if (Model.ViewData.ModelState.ErrorCount > 0) { } Таким образом, он будет включать сгенерированные пользователем ошибки модели. Ответ 4 Если вам нужно проверить ошибки, не связанные с какими-либо конкретными полями, вы можете попробовать это: @if(Html.ViewData.ModelState.ContainsKey(string.Empty)) { <div class="panel panel-danger"> <div class="panel-heading"> @Html.ValidationSummary(true) </div> </div> }
Ответ 2 Чтобы использовать синтаксис razor @if (!Html.ViewData.ModelState.IsValid) { // show error } или вы можете завершить его как метод расширения public static bool HasErrors(this HtmlHelper helper) { return helper.ViewData.ModelState.IsValid == false; } Используйте его как @if (Html.HasError()) { // show error }
Ответ 3 На самом деле, я думаю, что наиболее правильный способ проверки ошибок валидации (а не только автоматически сгенерированных на основе модели) был бы; @if (Model.ViewData.ModelState.ErrorCount > 0) { } Таким образом, он будет включать сгенерированные пользователем ошибки модели.
Ответ 4 Если вам нужно проверить ошибки, не связанные с какими-либо конкретными полями, вы можете попробовать это: @if(Html.ViewData.ModelState.ContainsKey(string.Empty)) { <div class="panel panel-danger"> <div class="panel-heading"> @Html.ValidationSummary(true) </div> </div> }