Question

J'ai un ActionFilterAttribute que je veux accepter les paramètres par mais je ne peux pas comprendre les passer à travers.

Donc, mon filtre d'action ressemble à ceci;

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

Et je décore mon action comme si;

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

Maintenant, je veux ajouter un paramètre que je peux appeler le filtre comme celui-ci;

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

Quelqu'un sait comment faire cela?

Était-ce utile?

La solution

Il suffit d'ajouter MyParam1 et MyParam2 en tant que propriétés de votre classe PreventAction. Si vous avez besoin des paramètres d'être là (plutôt que d'être en option), les ajouter comme arguments à un constructeur pour PreventAction à la place.

Voici un rapide tutoriel d'un classe simple attribut de MSDN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top