2008-10-29 167 views
6

这是我的旧代码我怎样才能获得actionName在ActionFilter


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; 
    } 
+1

高兴你正在寻找更好的方法。那是......有点可怕:) – 2008-10-29 13:30:15

回答

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

仅供参考,如RC1的,你做这样的:

filterContext.ActionDescriptor.ActionName