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.cs public 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の制約
参考 |
|