码迷,mamicode.com
首页 > Web开发 > 详细

mvc filter 跳转页面 无法在发送 HTTP 标头之后进行重定向(转)

时间:2019-11-28 11:44:35      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:isl   details   跳转   tle   over   attr   ide   redirect   count   

public class LoginFilterAttribute : ActionFilterAttribute
{
//表示是否检查登录
public bool IsCheck { get; set; }

//Action方法执行之前执行此方法
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);

if (IsCheck)
{
var returnUrl = filterContext.HttpContext.Request["ReturnUrl"];
if (string.IsNullOrEmpty(returnUrl))
returnUrl = filterContext.HttpContext.Request.Url.ToString();
//校验用户是否已经登录
if (!LoginHelper.Instance.IsLogin)
{

//跳转到登陆页
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.Result = new JsonResult
{
Data = new
{
ajaxValidLogin = false,
message = "登录已失效,请重新登录",
ReturnUrl = returnUrl
}
};
}
else
{
filterContext.Result = new EmptyResult();////加入EmptyResult就告诉ASP.NET MVC在本拦截器执行结束后,不必再为当前请求执行Controller中Action的代码
filterContext.HttpContext.Response.Redirect("/Account/Login?ReturnUrl=" + HttpUtility.UrlEncode(returnUrl),true);
}
}
}
}
}

  

原文地址:

mvc filter 跳转页面 无法在发送 HTTP 标头之后进行重定向(转)

标签:isl   details   跳转   tle   over   attr   ide   redirect   count   

原文地址:https://www.cnblogs.com/jlove/p/11948853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!