HandleErrorアトリビュートHandleErrorアトリビュートとは?
補足:ExceptionFilterアトリビュートとHandleErrorアトリビュート
HandleErrorフィルターの使用例コントローラー[HandleError] public ActionResult Index() { throw new Exception("HandleError Exception"); return View(); } Web.config<system.web <customErrors mode="On"></customErrors> </system.web Views\Shared\Error.cshtml@model System.Web.Mvc.HandleErrorInfo <h1 class="text-danger">エラー</h1> <h2 class="text-danger">要求の処理中にエラーが発生しました。</h2> <dl> <dt>Controller</dt> <dd>@Model.ControllerName </dd> <dt>Action</dt> <dd>@Model.ActionName</dd> <dt>例外</dt> <dd> <pre>@Model.Exception</pre> </dd> </dl> エラーページを表示せずにエラーURLへHTTPリダイレクトさせるWeb.config<customErrors mode="On" defaultRedirect="~/Error/Index" redirectMode="ResponseRedirect"> <error statusCode="403" redirect="~/Error/Forbidden" / </customErrors> エラーコントローラー Controllers\ErrorController.cspublic class ErrorController : BaseController { public ActionResult Index() { return View(); } public ActionResult Http403() { Response.StatusCode = 403; return Content("Forbidden:403", "text/plain"); } } エラーテンプレート Views\Error\Index.cshtml(略) HandleErrorの制約
参考 |
|