2013-04-09 46 views
5

如何在發生HttpRequestValidationException時將用戶重定向到自定義錯誤頁面。 我試圖抓住它,我basecontroller:如何捕獲HttpRequestValidationException

protected override void OnException(ExceptionContext exceptionContext) 
    { 
     if (exceptionContext.Exception is HttpRequestValidationException) 
     { 
      this.View("CustomError").ExecuteResult(this.ControllerContext); 
     } 
    } 

,但我仍然得到異常: 從客戶

回答

5

在執行早得多,就會出現此異常被檢測到有潛在危險的Request.Form值請求並且不能由基本控制器中的OnException方法處理。您可以編寫一個全局異常處理程序,如我在this post中所示。

+0

如果我添加代碼Server.ClearError();在保護覆蓋無效OnException(ExceptionContext exceptionContext)在basecontroller中的行動,然後它的工作。但最佳做法是什麼?在全局asax或我的基礎控制器中捕獲這個異常? – Djave 2013-04-09 09:07:24

+0

全局異常處理程序允許您處理更多範圍的異常,這些異常甚至發生在控制器外部。所以這就是我會選擇的。 – 2013-04-09 13:29:26

+0

非常感謝Darin – Djave 2013-04-09 13:40:37

相關問題