public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//这一步是验证是否登陆
if (filterContext.HttpContext.Session["User"] == null)
{
//当用这个方法的时候, 页面输出完了还会向后面的代码执行,使用return 也没效果;
//
filterContext.HttpContext.Response.Redirect("~/Home/Index",true);
//
return ;
ErrorRedirect(filterContext);
}
// 错误处理方法
private void ErrorRedirect(ActionExecutingContext filterContext)
{
//注:由于前端页面用的Iframe框架,用下面的方法跳转的时候会跳转到iframe里面去,所以不能用注释掉的方法
// filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary(new { controller = "Home", action = "Index" }));
// filterContext.Result = new RedirectResult("/Home/Index");
ContentResult content = new ContentResult();
content.Content = "<script language='javascript'> top.location.href = '/Home/Index';</script>";
filterContext.Result = content;
} // end ErrorRedirect
最后
以上就是呆萌诺言最近收集整理的关于ASP.NET MVC 拦截器中如何停止往后面的代码运行!的全部内容,更多相关ASP.NET内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复