如何在ActionFilter中获取actionName?

时间:2008-10-29 08:43:59

标签: asp.net-mvc action-filter

这是我的旧代码


    protected override bool OnPreAction(string actionName, System.Reflection.MethodInfo methodInfo)
    {
        if ("|Register|RegisterPage|Login|LoginPage|Logout|Service".ToLower().Contains(actionName.ToLower()))
        {
            return base.OnPreAction(actionName, methodInfo);
        }

        Customer = CustomerHelper.GetCustomer();

        if (Customer.IsSeccessedLogin())
        {
            return base.OnPreAction(actionName, methodInfo);
        }

        Response.Redirect("Login.html");
        return false;
    }

2 个答案:

答案 0 :(得分:30)

仅供参考,从RC1开始,您可以这样做:

filterContext.ActionDescriptor.ActionName

答案 1 :(得分:11)

string actionName = (string)filterContext.RouteData.Values["action"];