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); }
/// <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);
public override bool IsMatchErrorHandler(AjaxRequestResult ajaxRequestResult, Exception exception) { var errorMessageResult = exception.Message.ToLower() == LoginPageNotFound; return(errorMessageResult); }