Фильтр действий ActionParameters - PullRequest
13 голосов
/ 05 января 2010

У меня есть ActionFilterAttribute, через который я хочу принять параметры, но я не могу понять, передать их.

Так что мой фильтр действий выглядит так:

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

И я украшаю свое действие вот так;

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

Теперь я хочу добавить параметр, чтобы я мог вызвать фильтр следующим образом;

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

Кто-нибудь знает, как это сделать?

1 Ответ

25 голосов
/ 05 января 2010

Просто добавьте MyParam1 и MyParam2 в качестве свойств вашего PreventAction класса. Если вам требуется наличие параметров (а не необязательных), добавьте их в качестве аргументов в конструктор вместо PreventAction.

Вот краткое руководство по простого класса атрибутов из MSDN.

...