2011-12-29 75 views
1

早上好,如何嘗試並捕獲重定向到錯誤頁面?

我有一個註冊表單,它將用戶添加到系統中。例如,當管理員在出生日期輸入字母而不是日期時,會發生異常。我沒有在web.config以下代碼:

「的customErrors模式=」 ON「的defaultRedirect =‘Error.aspx’」

如何嘗試和捕捉功能將管理員重定向到error.aspx時發生錯誤?

+0

是不是更容易讓它失效? (如果dateofbirth!= DateTime的形式不添加。) – Moonlight 2011-12-29 09:53:02

+0

在catch塊中重新拋出異常 – 2011-12-29 09:53:25

回答

0

這聽起來像你需要捕捉異常,然後做一個手動重定向(Response.Redirect)到你的錯誤頁面。您可以將異常傳遞到會話變量或應用程序變量中的錯誤頁面。

1

由於您已捕獲此異常,它將不會重定向到錯誤頁面。如果你想這樣做,請嘗試重新拋出異常。

catch (Exception) 
{ 
    // your custom code 
    throw; 
} 
0

除非你做的事,該管理頁面將重定向到,如果你發現自己異常error.aspx。

它只會重定向未處理的異常。

更新 從您的意見,看來你是用的ValidationSummary在網頁上建立某種驗證在一起,而不是依靠一個重定向到錯誤頁面的更好。你想要兩件不能放在一起的東西。

<asp:CompareValidator 
    id="dateValidator" runat="server" 
    Type="Date" 
    Operator="DataTypeCheck" 
    ControlToValidate="txtDatecompleted" 
    ErrorMessage="Please enter a valid date."> 
</asp:CompareValidator> 
+0

如何將管理員重定向到錯誤頁面而無需嘗試並捕獲? – user1114676 2011-12-29 10:07:31

+0

刪除try catch並查看會發生什麼... – Pleun 2011-12-29 10:08:45

+0

系統崩潰並顯示錯誤頁面。我不希望系統崩潰:P – user1114676 2011-12-29 10:15:01

相關問題