ホームページ > 記事 > ウェブフロントエンド > asp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)
前回の記事「ES6プロキシProxyのJSでの使い方を解説した記事(コード共有)」では、JSでのES6プロキシProxyの使い方について学びました。次の記事は、asp.net の mvc4 カスタム 404 ページを理解するのに役立ちます。これには一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。
#もちろん、404 を定義する方法はたくさんあります。メソッドが違えば形式も異なり、ユーザーエクスペリエンスも異なります。 1 つ
のセクション 2dc15ec6bc814c3aa45b55d017848bed
を見つけて、クリックしてください。 Enable404
Configuration <pre class="brush:php;toolbar:false"><customErrors defaultRedirect="~/Error" mode="On" redirectMode="ResponseRedirect">
<error redirect="/Error" statusCode="404" />
</customErrors></pre>
2.
(これはあなた次第です) を定義し、action で
public ActionResult Index() { Response.Status = "404 Not Found"; Response.StatusCode = 404; return View(); }
this を定義します
以下のようにこのメソッドでは、デフォルトで ?aspxerrorpath=/ が url
に追加されます。例: http://localhost/Error??aspxerrorpath=/123456# Try
方法 2:
(コントローラー/アクション)
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_ErrorApplication_Error
根本的な理由は、メソッドの
Response.Redirectメソッドをよく使用します。カスタム エラー ページにジャンプすることができますが、場合によって (特にサイトが IIS に展開されている場合)
Application_Errorメソッドで使用される
Response.Redirectメソッドが失敗します。の場合、デフォルトのエラー イエロー ページが引き続き表示されます。
メソッドでServer.ClearError を呼び出す前にResponse.Redirect
この問題の解決策は非常に簡単で、メソッドを使用しているにもかかわらず、システムで例外エラーが発生した場合に発生するためです。
Asp.Netは例外が処理されていないと考えているため、
Application_Errorメソッドの
Response.Redirectが指すページにはジャンプしません。最終的にはデフォルトのエラーであるイエローページにジャンプします。
Application_Errorメソッドで
asp.net ビデオ チュートリアルResponse.Redirect
を使用します。 ()メソッドは、発生した異常エラーが処理されたことをシステムに通知するため、
Response.Redirectメソッドが再度呼び出された場合、システムはカスタム エラー ページにジャンプします。
推奨される学習:
以上がasp.net の mvc4 カスタム 404 ページの詳細な分析 (共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。