ASP.Net ValidationSummary控件不显示异常

时间:2012-02-08 09:52:25

标签: asp.net validation dynamic-data

我的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 :(得分:0)

  

您好,          将您的代码块放在try catch中,如果发生异常,则弹出show model以显示错误。只需使用ModelPopUp.show()方法在代码中弹出模型   在阻挡区后面。希望这会对你有所帮助。