2008-10-29 10 views
6

este es mi viejo código¿Cómo puedo obtener el actionName en un 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

Glad estás buscando una mejor manera. Eso es ... un poco de miedo :) –

Respuesta

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

FYI, a partir de RC1, lo haces de esta manera:

filterContext.ActionDescriptor.ActionName 
Cuestiones relacionadas