2010-01-27 89 views
0

如何強制從業務層冒泡到JavaScript中的警告框中的異常消息?處理異常提示框

順便說一句,我正在使用ASP.NET MVC 1.0。

謝謝, 杆。

+0

你是通過ajax發出請求嗎? – womp

+0

這裏沒有ajax ... – Rod

+0

我正在使用html.beginform() – Rod

回答

0

製作自定義操作過濾器屬性並將其應用於操作方法。 在OnActionExecuted()的重寫版本中,您必須將filterContext.Result設置爲某些RedirectResult/RedirectRouteResult,以便將任何內容返回給瀏覽器,因爲異常將其設置爲EmptyResult。所以重定向到一些錯誤頁面或控制器動作,其呈現HTML使用JavaScript的警報:)這裏的風俗ActionFilter屬性,你可以下手:

public class ExceptionAlerterFilterAttribute: ActionFilterAttribute 
{ 
    public override void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
     if(null!= filterContext.Exception && !filterContext.ExceptionHandled) 
     { 

      RedirectResult result = new RedirectResult(some_url_you_need_to_set); 
      filterContext.Result = result; 
      //yes, you have to set the ExceptionHandled to stop the error bubbling 
      filterContext.ExceptionHandled = true; 
     } 
     base.OnActionExecuted(filterContext); 
    } 
} 

變得有點凌亂,但我希望回答你的問題?

+0

感謝您的幫助 – Rod