2012-04-30 59 views
1

我有一個網站,其中有一個名爲Test.htm的啓動頁面。該網站暫時關閉,我們希望在網站加載時顯示錯誤頁面。我有一個名爲error.htm的頁面。這怎麼可能 ??ASP.NET將頁面重定向到一個新的URL

在此先感謝!

回答

1

ASP.NET提供了允許您捕獲和發生時響應錯誤的方式主要有三種:Page_Error事件的Application_Error ,以及應用程序配置文件(Web.config)。

1. Page_Error事件提供了一種發生在頁面級別 2.You可以使用Application_Error事件處理程序發生在您的應用程序 3,如果你這樣做捕獲錯誤捕獲錯誤不調用Server.ClearError或在Page_Error或Application_Error事件處理程序中捕獲錯誤,則會根據Web.config文件部分中的設置處理錯誤。 在部分中,您可以指定重定向頁面作爲默認錯誤頁面(defaultRedirect),或者根據引發的HTTP錯誤代碼指定給特定頁面。

例如您需要在Global.asax中頁面中添加以下代碼的customErrors部分,將用戶重定向到自定義頁

<customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On"> </customErrors>

0

你能砍你的web.config強制應用程序進入返回404的要求時。然後覆蓋404錯誤頁面成爲你的「錯誤」頁面。

<httpRuntime enable="false" /> 

<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx"> 
<error statusCode="404" redirect="~/error.htm" /> 
</customErrors> 
0

可以使用app_offline.htm頁。如果asp.net在根目錄下找到這個頁面,那麼你要求它顯示這個頁面,並且該網站已關閉。

方式二,也就是不帶顯示在網站上,在應用開始請求,使重定向頁面你喜歡:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    string cTheFile = HttpContext.Current.Request.Path; 

    // just double check in case that htm proceed from asp.net 
    if(!cTheFile.EndsWith("test.htm")) 
    { 
     System.Web.HttpContext.Current.Response.Redirect("test.htm", true); 
     return; 
    } 
} 
相關問題