ホームページ  >  記事  >  ウェブフロントエンド  >  asp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)

asp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)

奋力向前
奋力向前転載
2021-08-27 11:11:542876ブラウズ

前回の記事「ES6プロキシProxyのJSでの使い方を解説した記事(コード共有)」では、JSでのES6プロキシProxyの使い方について学びました。次の記事は、asp.net の mvc4 カスタム 404 ページを理解するのに役立ちます。これには一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。

asp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)

#もちろん、404 を定義する方法はたくさんあります。メソッドが違えば形式も異なり、ユーザーエクスペリエンスも異なります。 1 つ

1.

web.config

のセクション 2dc15ec6bc814c3aa45b55d017848bed を見つけて、クリックしてください。 Enable404Configuration <pre class="brush:php;toolbar:false">&lt;customErrors defaultRedirect=&quot;~/Error&quot; mode=&quot;On&quot; redirectMode=&quot;ResponseRedirect&quot;&gt; &lt;error redirect=&quot;/Error&quot; statusCode=&quot;404&quot; /&gt; &lt;/customErrors&gt;</pre>2.

controllersError

(これはあなた次第です) を定義し、action で

public ActionResult Index()
{
    Response.Status = "404 Not Found";
    Response.StatusCode = 404;
    return View();
}
this を定義します 以下のようにこのメソッドでは、デフォルトで

?aspxerrorpath=/

url に追加されます。例: http://localhost/Error??aspxerrorpath=/123456# Try方法 2:

Open

Global.asax

ファイル定義エラー リダイレクト アドレス

(コントローラー/アクション)

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
    if (ex is HttpException && ((HttpException)ex).GetHttpCode() == 404)
    {
        Response.Redirect("/Error");
    }
}
注: 開発中、

Global.asax

Application_Error メソッドの Response.Redirect メソッドをよく使用します。カスタム エラー ページにジャンプすることができますが、場合によって (特にサイトが IIS に展開されている場合) Application_Error メソッドで使用される Response.Redirect メソッドが失敗します。の場合、デフォルトのエラー イエロー ページが引き続き表示されます。

根本的な理由は、
Application_Error
メソッドで

Response.Redirect メソッドを使用しているにもかかわらず、システムで例外エラーが発生した場合に発生するためです。 Asp.Net は例外が処理されていないと考えているため、Application_Error メソッドの Response.Redirect が指すページにはジャンプしません。最終的にはデフォルトのエラーであるイエローページにジャンプします。

この問題の解決策は非常に簡単で、
Server.ClearError を呼び出す前に
Application_Error

メソッドで Response.Redirect を使用します。 () メソッドは、発生した異常エラーが処理されたことをシステムに通知するため、Response.Redirect メソッドが再度呼び出された場合、システムはカスタム エラー ページにジャンプします。
推奨される学習:

asp.net ビデオ チュートリアル

以上がasp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はchuchur.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。