public override void OnException(ExceptionContext filterContext) { var controllerName = filterContext.RouteData.Values["controller"]; var actionName = filterContext.RouteData.Values["action"]; var userName = HttpContext.Current.User.Identity.Name; var area = filterContext.RouteData.DataTokens["area"]; if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = Convert.ToInt32(System.Net.HttpStatusCode.InternalServerError); filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; filterContext.Result = new JsonResult { Data = new { result = false, ExceptionMessage = filterContext.Exception.Message }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } base.OnException(filterContext); }