2012-02-08 56 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