ASP.NET MVC 拦截器中如何停止往后面的代码运行!

来源:互联网 发布:淘鹊桥是淘宝的吗 编辑:程序博客网 时间:2024/05/16 12:50
  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       




0 0
原创粉丝点击