別のページへのリダイレクトを制御したり、特定の処理エラーで別のビューを返すことができます。 404、403、418のステータスを持つカスタムページを作成できますが、ページが表示されますが、500を返そうとするとデフォルトのページで上書きされます。私は通常のソリューションを試しました。 TrySkipIisCustomErrorsを使用してIISが500エラーを傍受する私はfilter.csを持っておらず、application_Start()にフィルタを登録していません。私はメソッドから[HandleError]を追加したり削除したりしてみましたが、違いはありません。MVC5の返品状況500カスタムページ、通常の解決策を試しました
[NonAction]
[HandleError]
private ActionResult error(Exception e)
{
Response.StatusCode = 500;
Response.StatusDescription = "Internal server error: " + e.Message;
Response.TrySkipIisCustomErrors = true;
ErrorModel errorModel = new ErrorModel();
errorModel.error = e.Message;
return View(viewName: "error", model: errorModel);
}
これは、エラーがリダイレクトされ、表示されるビューを返すメソッドです。最初の行を他のStatusCodesに変更できますが、正常に動作しますが、500はありません。