1

カスタムエラービューを提供するFilterAttribute、IExceptionFilterグローバルエラー処理属性を作成しようとしています。public void OnException(ExceptionContext context)をオーバーライドして実行します

context.HttpContext.Response.Clear();
context.HttpContext.Response.TrySkipIisCustomErrors = true;
context.HttpContext.Response.StatusCode = 403;

context.ExceptionHandled = true;
context.Result = new ViewResult { ... not sure what to put here... }

それは私が立ち往生しているところです。これまでに試したことはすべて、内部サーバーのエラーページが表示されます。私は私が次のようなものが欲しいと思う

context.Result = new ViewResult
{
    ViewName = "~/Errors/ReadOnlyMode.cshtml",
}

しかし、それはうまくいかなかったようです(内部サーバーエラー...)。

4

2 に答える 2

3

これはうまくいくはずです

context.Result = new ViewResult
{
    ViewName = "~/Views/Errors/ReadOnlyMode.cshtml",
}
于 2013-01-22T07:11:57.983 に答える
1
context.Result = new RedirectToRouteResult(
    new RouteValueDictionary 
    { 
        { "Controller", "Errors" }, 
        { "Action", "ReadOnlyMode" } 
    });

これは私にとってはうまくいきます。

于 2013-01-22T01:03:29.933 に答える