0

私のApplication_Errorイベントハンドラでは、404のMVCビューをレンダリングしたいのですが、SEOのためにリダイレクトしたくありません。Server.TransferはMVCビューをレンダリングできません

void Application_Error(...) 
{ 
if (serverException is HttpException && ((HttpException)serverException).GetHttpCode() == 404) 
{ 
    Server.Transfer("/error/404"); //* 
} 
} 

// *ディスク上のパスが見つからないため、失敗します。もちろん、MVCで処理する必要があるからではありません。

Application_ErrorからMVC-Viewをレンダリングするにはどうすればよいですか?

私はリダイレクトしたくありません。

答えて

1

404エラーを処理するためにApplication_Errorを使用しないでください。

routes.MapRoute(
    "Error", 
    "{*url}", 
    new { controller = "Error", action = "Http404" }); 

別のルートと一致していない要求はErrorコントローラのHttp404作用によって処理されます:キャッチにすべてのルートを定義します。

+0

私はまだWebformsを使用しています。私はクライアントに送られた_any_ 404のために働くすべてのソリューションを捕まえたい。 – usr

関連する問題