Элемент управления ASP.Net ValidationSummary не показывает исключений - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть страница asp.net со следующей разметкой:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
    <asp:ValidationSummary ID="validationSummary" runat="server" EnableClientScript="true" HeaderText="Errors list:" />
    <asp:DynamicValidator runat="server" ID="gridViewValidator" ControlToValidate="gridView" Display="None" />
    <asp:GridView ID="gridView" runat="server" DataSourceID="GridDataSource" OnRowCommand="gridView_RowCommand">
      <Columns>
        <asp:DynamicField DataField="column1" />
        <asp:DynamicField DataField="column1" /> 
        <asp:DynamicField DataField="column1" /> 
        <asp:Button ID="btnSave" Text="Save" runat="server" CommandName="CustomSave" CausesValidation="true" />
      </Columns>
    </asp:GridView>
    <asp:DynamicLinqDataSource ID="dynamicLinqDataSource" runat="server" />
  </ContentTemplate>
</asp:UpdatePanel>

Когда пользователь нажимает кнопку сохранения, мой пользовательский обработчик команд вызывает SubmitChanges и сохраняет данные из сетки в базу данных.Иногда (например, проверочное ограничение нарушено) сохранение завершается неудачей, а исключение - «trows».Все исключения базы данных генерируются на более высоком уровне как исключение базы данных, которое заключено в ValidationException.Итак, я ожидаю, что текст исключения будет показан в ValidationSummary как метка с сообщением об исключении, но мое приложение аварийно завершает работу, и я вижу страницу ошибки приложения.Итак, как обработать ValidationException со слоя базы данных и отобразить сообщение об исключении в ValidationSummary элементе управления без сбоя приложения?Может понадобится дополнительная настройка?

1 Ответ

0 голосов
/ 08 февраля 2012

Привет, Поместите свой блок кода в try catch и, если возникнет исключение, покажите всплывающую модель для отображения ошибок. Просто используйте метод ModelPopUp.show () для отображения всплывающей модели в коде сзади в блоке улова. Надеюсь, это поможет вам.

...