将异常处理到警报框中

时间:2010-01-27 21:53:32

标签: jquery asp.net asp.net-mvc

如何将从我的业务层冒泡的异常消息强制转换为javascript中的警告框?

BTW,我正在使用ASP.NET MVC 1.0。

谢谢, 杆

1 个答案:

答案 0 :(得分:0)

制作自定义操作过滤器属性并将其应用于操作方法。 在OnActionExecuted()的覆盖版本中,您必须将filterContext.Result设置为某些RedirectResult / RedirectRouteResult,以便在异常将其设置为EmptyResult时向浏览器返回任何内容。所以重定向到一些错误页面或控制器动作,它使用javascript为警报呈现html :)这是你可以开始的自定义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);
    }
}

有点乱,但我希望回答你的问题?