Frage

Ich habe eine ActionFilterAttribute, die ich will Parameter durch akzeptieren, aber ich kann sie über nicht herausgeben.

Also meine Action-Filter sieht wie folgt aus;

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

Und ich dekoriere meine Aktion wie so;

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

Jetzt möchte ich einen Parameter hinzufügen, so kann ich den Filter wie folgt aufrufen;

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

Wer weiß, wie dies zu tun?

War es hilfreich?

Lösung

Just MyParam1 und MyParam2 als Eigenschaften Ihrer PreventAction Klasse hinzuzufügen. Wenn Sie die Parameter benötigen, dort zu sein (eher dann optional ist), fügen Sie sie als Argumente für einen Konstruktor für PreventAction statt.

Hier ist eine kurze Einführung eine einfache Attributklasse von MSDN.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top