Как я могу получить actionName в ActionFilter? - PullRequest
7 голосов
/ 29 октября 2008

это мой старый код


    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 ]

30 голосов
/ 06 февраля 2009

К вашему сведению, начиная с RC1, вы делаете это так:

filterContext.ActionDescriptor.ActionName
11 голосов
/ 29 октября 2008
string actionName = (string)filterContext.RouteData.Values["action"];
...