zoukankan      html  css  js  c++  java
  • 使用ActionFilterAttribute进行重定向注意事项

    1.分部视图方法不能添加该特性,会报子方法不能重定向操作的错误

    2.必须用给filterContext.Result赋值的方法进行重定向,而不能用filterContext.HttpContext.Response.Redirect,

    否则,该特性执行完成后,会继续执行Action和其他ActionFilterAttribute 

    示例代码如下:

    public class UserAuthenticationAttribute : ActionFilterAttribute
        {
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                if (filterContext == null || filterContext.HttpContext == null)
                    return;
    
                HttpRequestBase request = filterContext.HttpContext.Request;
                if (request == null)
                    return;
    
    
                var workContext = EngineContext.Current.Resolve<IWorkContext>();
    
                if(workContext.CurrentSISTUser==null)
                {
                    filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new
                    {
                        controller = "Account",
                        action = "Login"
                    }));
                    //filterContext.HttpContext.Response.Redirect("/Account/Login", true);
                    return;
                }
    
            }
        }

    来自:https://www.cnblogs.com/ldybyz/p/6236046.html

  • 相关阅读:
    Mongodb_文件存储
    Mongodb_技巧
    Blend_Effect
    WPF_界面_图片/界面/文字模糊解决之道整理
    ASP.NET Boilerplate 深入系列之:概述
    P1280 尼克的任务
    P1802 5倍经验日
    271. 杨老师的照相排列
    P1726 上白泽慧音
    P1983 [NOIP2013 普及组] 车站分级
  • 原文地址:https://www.cnblogs.com/dongh/p/14182693.html
Copyright © 2011-2022 走看看