13

Ho uno ActionFilterAttribute che desidero accettare i parametri, ma non riesco a capire come passarli.Action Filter ActionParameters

Quindi il mio filtro di azione ha questo aspetto;

public class PreventAction : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     filterContext.Result = new RedirectResult("Home/Index"); 
    } 
} 

E decorare la mia azione in questo modo;

[PreventAction] 
public ActionResult Ideas() 
{ 
    return View(); 
} 

Ora voglio aggiungere un parametro in modo da poter chiamare il filtro in questo modo;

[PreventAction(myParam1 = "1", myParam2 = "2")] 
public ActionResult Ideas() 
{ 
    return View(); 
} 

Qualcuno sa come fare?

risposta

25

Basta aggiungere MyParam1 e MyParam2 come proprietà della classe PreventAction. Se si richiede che i parametri siano presenti (anziché essere facoltativi), aggiungerli come argomenti a un costruttore per PreventAction.

Ecco uno quick tutorial di una classe di attributo semplice da MSDN.

+1

+1 Fantastico! Grazie Signore. – griegs

+1

Felice di aiutare :) – womp