2016-09-21 19 views
1

Web.configでcustomErrorsを使用している場合、このページを呼び出す前にどのようにサーバーコードを利用できますか?customErrorsを使用してサーバーサイドコードを呼び出すことはできますか?

エラーを呼び出す前にcatchステートメントで処理する必要がありますか? 別のオプションはありますか?

<customErrors mode="On" defaultRedirect="~/Views/Shared/MyPageError.cshtml" /> 

私の場合は、エラーページに当たる前にユーザーをログアウトしたいと思っています。

答えて

0

私はサーバー側コードを呼び出すビューにajax getメソッドを追加しました。

0

あなたは

public class FilterConfig 
    { 
     public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new ErrorHandler()); 
     } 

     public class ErrorHandler : HandleErrorAttribute 
     { 
      public override void OnException(ExceptionContext filterContext) 
      { 
       base.OnException(filterContext); 
       SendEmail(filterContext.Exception.Message); 
      } 
     } 
    } 

例えば、あなたのエラーを処理することができるアプリケーションでフィルタを作成することができますGlobal.asax.cs

で登録
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 

言及このコントローラ

[ErrorHandler] 

上のあなたエラーの場合はビューも指定できます

[ErrorHandler(View = "")] 
+0

この場合、customErrorsをオフにして、すべてのコントローラでErrorHandlerフィルタを実装しますか? – PrivateJoker

+0

[ErrorHandler(View = "〜/ Views/Shared/MyPageError.cshtml")]を試しましたが、このページは表示されません。それはちょうど画面まで醜いエラーメッセージを投げている。 FilterConfig.RegisterGlobalFilters(GlobalFiltersを: [のHandleError(ビュー= "")] [ErrorHandlerを(ビュー= "")] – PrivateJoker

+0

@JDSあなたがGlobal.asax.csにはいた場合、それを登録しています.Filters);ビューは表示されません –

関連する問題