Example #1
0
 /// <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;
 }
Example #2
0
 public ActionResult Index(CustomErrorModel cem)
 {
     ViewData = new ViewDataDictionary <CustomErrorModel>(cem);
     return(View());
 }