2016-12-08 11 views
0

Clean way to catch all errors thrown in an MVC 3.0 application?に投稿されたソリューションのフィルタを使用していますが、どのように(/ Views/Account/ErrorPageにある単純なエラーページの)ビューにリダイレクトすることができますか? AccountController)、そのフィルタで?これは、以下に再現されています例外処理フィルタからのリダイレクト

public class HandleExceptionsAttribute : HandleErrorAttribute 
    { 
     public override void OnException(ExceptionContext filterContext) 
     { 
      var expception = filterContext.Exception; 

      // Go to generic error page: 

     } 
    } 

ありがとうございました。 filterContext.Result

 filterContext.Result = new ViewResult 
     { 
      ViewName = "<view name>", 
      ViewData = new ViewDataDictionary<HandleErrorInfo>(model), 
      TempData = filterContext.Controller.TempData 
     }; 

を設定

答えて

0

ここでエラー

public override void OnException(ExceptionContext filterContext) 
    { 
     base.OnException(filterContext); 

     var controllerName = (string) filterContext.RouteData.Values["controller"]; 
     var actionName = (string) filterContext.RouteData.Values["action"]; 
     var model = new HandleErrorInfo(filterContext.Exception, controllerName, actionName); 

     filterContext.Result = new ViewResult 
     { 
      ViewName = "<view name>", 
      ViewData = new ViewDataDictionary<HandleErrorInfo>(model), 
      TempData = filterContext.Controller.TempData 
     }; 
     filterContext.ExceptionHandled = true; 
     filterContext.HttpContext.Response.Clear(); 
     filterContext.HttpContext.Response.StatusCode = 500; 
     filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; 
    } 
+0

は ' ""'の構文がどうあるべきかというコールを取り込み、完全な方法がありますか?私は ''/Account/ErrorPage ''を試しましたが、"マスタが見つかりませんでした。または、検索エンジンが検索された場所をサポートしていません... "というエラーが発生しました。 – ITWorker

+0

共有ビュー – Fran