/// <summary> /// 后端异常处理 /// </summary> private void ExceptionWeb(ExceptionContext filterContext) { //判断是否是自定义异常类型 if (filterContext.Exception is MessageBox) { if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest()) { //返回错误信息 filterContext.Result = new JsonResult() { Data = MessageBox.cem } } ; else { CustomErrorModel cem = new CustomErrorModel(filterContext); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<script src=\"/Scripts/Jquery/jquery-2.1.4.min.js\"></script>"); //sb.Append("<script src=\"/Scripts/Bootstrap/bootstrap.min.js\"></script>"); sb.Append("<script src=\"/Scripts/Toastr/toastr.min.js\"></script>"); sb.Append("<script src=\"/Scripts/Layer/layer-v3.0.1/layer/layer.js\"></script>"); sb.Append("<script src=\"/Scripts/SysFrameWork/FrameWork.js\"></script>"); sb.Append("<script type='text/javascript'>"); sb.Append("$(function(){ FW.MsgBox('" + cem.ErrorMessage.Trim().Replace("'", "“").Replace("\"", "”") + "','" + (string.IsNullOrEmpty(cem.JumpUrl) ? "" : cem.JumpUrl) + "','警告'); });"); sb.Append("</script>"); filterContext.Result = new ContentResult() { Content = sb.ToString(), ContentType = "text/html", ContentEncoding = System.Text.Encoding.UTF8 }; } filterContext.HttpContext.Response.StatusCode = 200; } else { ErrorWrite(filterContext); CustomErrorModel cem = new CustomErrorModel(filterContext); if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest()) { //返回错误信息 filterContext.Result = new JsonResult() { Data = cem }; filterContext.HttpContext.Response.StatusCode = 200; } else { filterContext.Result = new ViewResult() { ViewName = "~/Areas/Admin/Views/Error/Index.cshtml", ViewData = new ViewDataDictionary <CustomErrorModel>(cem) }; } } //表示异常已处理 filterContext.ExceptionHandled = true; }
public ActionResult Index(CustomErrorModel cem) { ViewData = new ViewDataDictionary <CustomErrorModel>(cem); return(View()); }