Ошибка? Проверка на стороне клиента в ASP.NET MVC 2 приводит к отображению сообщения ValidationSummary, даже если ошибки нет - PullRequest
6 голосов
/ 18 февраля 2010

При включенной проверке на стороне клиента в ASP.NET MVC 2 RC2 сводное сообщение проверки отображается даже при первой загрузке страницы Edit.aspx. Однако он не выделяется жирным красным цветом, а просто текст. Если я отправляю форму с ошибкой, итоговое сообщение проверки становится жирным красным, а ниже приведен список ошибок.

Вот код, который содержит резюме проверки:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.ViewModels.PersonEditorViewModel>" %>

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

<%  Html.EnableClientValidation(); %>

<%  using (Html.BeginForm())
    {
%>
        <%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %>
        <%= Html.EditorForModel() %>
        <p>
            <input type="submit" value="Save" />
        </p>
<%
    }
%>

Это ошибка или я что-то не так делаю? Если это ошибка, есть ли обходной путь?

Примечание. Если я отключу проверку клиента, все будет работать правильно.

1 Ответ

11 голосов
/ 18 февраля 2010

В файле CSS вашего сайта, вероятно, отсутствуют записи, необходимые для корректного отображения ValidationSummary (). Чтобы это исправить:

  1. Создать новый MVC 2 RC 2 Пустой WAP.
  2. Открыть свой контент / Site.css в VS.
  3. Объедините эти записи в файл CSS вашего исходного сайта.

Пустой файл WAP Site.css содержит необходимые классы, поэтому это должно решить вашу проблему.

...