2012-02-08 57 views
0

我有以下标记asp.net页面:ASP.Net ValidationSummary控件不显示异常

<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和保存数据到数据库。有时(例如检查约束被破坏),保存失败,异常被触发。所有数据库异常都被抛到更高级别,因为数据库异常被包装到ValidationException中。
所以,我想到的是异常文本将在ValidationSummary显示为带异常消息标签可以,但我的应用程序是崩溃,我看到的应用程序错误页面。
那么,如何处理来自数据库层的ValidationException并显示异常消息 ValidationSummary控件没有应用程序崩溃?可能需要一些额外的配置?

回答

0

嗨, 把你的代码块放在try catch中,如果发生异常show model pop up to display errors。只需使用ModelPopUp.show()方法显示在代码块后面的代码 中弹出的模型。希望这会帮助你。

+0

我想ValidationSummary自动处理ValidationException并显示错误消息,没有任何额外的异常处理... – 2012-02-08 11:24:20