在OnActionExecuting里 会直接跳出action吗
在OnActionExecuting里 能直接跳出action吗
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Redirect("/Account");
filterContext.HttpContext.Response.End();
base.OnActionExecuting(filterContext);
return;
}
这样写它还会执行ACTION里面的后台代码,有什么办法不让它执行action里面的代码,而直接跳到我要转到的页面.
------解决思路----------------------
这个是之前给别人回答的强制给url加个/后缀的,设定filterContext.Result ,而不是用Response.Redirect
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Redirect("/Account");
filterContext.HttpContext.Response.End();
base.OnActionExecuting(filterContext);
return;
}
这样写它还会执行ACTION里面的后台代码,有什么办法不让它执行action里面的代码,而直接跳到我要转到的页面.
------解决思路----------------------
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var url=filterContext.HttpContext.Request.Url.ToString();
if (url.EndsWith("/"))
{
base.OnActionExecuting(filterContext);
}
else
{
filterContext.Result = new RedirectResult(url + "/", true);
}
}
这个是之前给别人回答的强制给url加个/后缀的,设定filterContext.Result ,而不是用Response.Redirect