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;
                }
    
            }
        }
  • 相关阅读:
    c# 不常用逻辑运算符
    c# 简单日志记录类 log

    最短路径
    A+B
    floyd 算法
    Kruskal 算法
    快排
    顺序表的逆排
    顺序表中多余元素的删除
  • 原文地址:https://www.cnblogs.com/ldybyz/p/6236046.html
Copyright © 2011-2022 走看看