2

私のサイトでいずれかの URL が 404 である場合、ASP.NET-MVC でレンダリングされたカスタム 404 ページを表示したいと考えています。ただし、標準の Web フォームが無効になるため、ワイルドカード ルート アプローチは使用したくありません。私のコードは現在次のようになっています。

if (serverException is HttpException && ((HttpException)serverException).GetHttpCode() == 404)
{
 //Server.Transfer("~/Test.aspx"); //1
 //Server.Transfer("~/error/gf54tvmdfguj85fghf/404"); //2
}

このコードは App_Error 内にあります

//1 は機能します。Test.aspx は標準の Web フォームです。

//2 は asp.net-mvc ルートであるため機能しません

MVC ルートを機能させるには?

4

1 に答える 1

-1

次のように、アプリケーション エラー イベントを使用できます。

 protected void Application_Error(object sender, EventArgs e)
{
  //Check if it's a 404 error:
  Exception exception = Server.GetLastError();
  HttpException httpException = exception as HttpException;

  if(httpException.GetHttpCode() == 404) {
      //Redirect to the error route
     Response.Redirect(String.Format("~/Error/404/?message={0}", exception.Message));
  }
}
于 2009-09-02T14:59:41.583 に答える