您的位置:首页 > 编程语言 > ASP

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

2016-12-02 12:33 531 查看
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       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: