复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14public override void OnActionExecuting(ActionExecutingContext filterContext) { //这一步是验证是否登陆 if (filterContext.HttpContext.Session["User"] == null) { //当用这个方法的时候, 页面输出完了还会向后面的代码执行,使用return 也没效果; // filterContext.HttpContext.Response.Redirect("~/Home/Index",true); // return ; ErrorRedirect(filterContext); }
复制代码
1
2
3
4
5
6
7
8
9
10// 错误处理方法 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复