如何在ActionFilter中获取actionName?

Fro*_*ast 7 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;
    }
Run Code Online (Sandbox Code Playgroud)

Tim*_*ott 31

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

filterContext.ActionDescriptor.ActionName
Run Code Online (Sandbox Code Playgroud)


Cra*_*ntz 11

string actionName = (string)filterContext.RouteData.Values["action"];
Run Code Online (Sandbox Code Playgroud)