1

Test.htmというスタートアップページがあるサイトがあります。サイトが一時的にダウンしているため、サイトの読み込み時にエラーページを表示したいと思います。error.htmというページがあります。これはどのように可能ですか?

前もって感謝します!

4

5 に答える 5

1

ASP.NET には、発生したエラーをトラップして対応できる 3 つの主要なメソッドが用意されています。Page_ErrorApplication_Error、およびアプリケーション構成ファイル (Web.config) です。

1.Page_Error イベント ハンドラは、ページ レベルで発生したエラーをトラップする方法を提供します 2.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>

于 2012-04-30T17:23:42.880 に答える
0

考えただけですが、response.redirectを見ましたか?

ASP.NET MVCでは、response.redirectはどのように機能しますか?

于 2012-04-30T17:18:34.990 に答える
0

それを「オフライン」にする

参照:IIS:すべての要求を1つのページにリダイレクトしますか?

于 2012-04-30T17:20:00.700 に答える
0

app_offline.htmページを使用できます。asp.net がこのページをルートで見つけた場合、何を要求してもこのページが表示され、サイトはダウンしています。

2 番目の方法は、サイトをダウンさせないことです。Application Begin Request で、次のように好きなページにリダイレクトします。

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;
    }
}
于 2012-04-30T18:47:23.987 に答える
0

web.config をハックして、アプリケーションが要求されたときに強制的に 404 を返すようにすることができます。次に、404 エラー ページをオーバーライドして、「エラー」ページにします。

<httpRuntime enable="false" />

<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/error.htm" />
</customErrors> 
于 2012-04-30T17:50:42.980 に答える