public override bool IsMatchErrorHandler(AjaxRequestResult ajaxRequestResult, Exception exception)
        {
            var errorMessageResult  = exception.Message.ToLower() == ErrorMessage.UnauthorizedAccess.ToLower();
            var errorRedirectResult = exception.Message.ToLower() != LoginPageNotFound;
            var isAjaxRequest       = ajaxRequestResult.IsAjaxRequest;

            return(errorMessageResult && isAjaxRequest && errorRedirectResult);
        }
Example #2
0
        /// <summary>
        /// 执行结果
        /// </summary>
        /// <param name="context">控制器上下文</param>
        public override void ExecuteResult(ControllerContext context)
        {
            AjaxRequestResult obj = null;

            if (_obj is AjaxRequestResult)
            {
                obj = _obj as AjaxRequestResult;
            }
            else
            {
                obj = new AjaxRequestResult();
                if (!_iserror)
                {
                    obj.value = _obj;
                }
                else
                {
                    obj.error = _errorInfo;
                }
            }


            var req     = context.HttpContext.Request;
            var resp    = context.HttpContext.Response;
            var setting = new JsonSerializerSettings()
            {
                DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
            };

            var callback = req.QueryString["jsoncallback"];

            if (String.IsNullOrWhiteSpace(callback))
            {
                callback = req.QueryString["callback"];
            }

            if (String.IsNullOrWhiteSpace(callback))
            {
                resp.Write(JsonConvert.SerializeObject(obj, setting));
            }
            else //jsonp
            {
                resp.Write(callback);
                resp.Write("(");
                resp.Write(JsonConvert.SerializeObject(obj, setting));
                resp.Write(");");
            }

            base.ExecuteResult(context);
        }
 public abstract bool IsMatchErrorHandler(AjaxRequestResult ajaxRequestResult, Exception exception);
Example #4
0
        public override bool IsMatchErrorHandler(AjaxRequestResult ajaxRequestResult, Exception exception)
        {
            var errorMessageResult = exception.Message.ToLower() == LoginPageNotFound;

            return(errorMessageResult);
        }