Передача параметров List <Enum>в фильтр пользовательских действий в ASP.NET MVC3 - PullRequest
6 голосов
/ 13 июля 2011

как я могу разобрать List в свой фильтр пользовательских действий (например, входные параметры)?

public class CustomFilter : ActionFilterAttribute
{

    public List<MyEnumType> InputParameter { get; set; }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {         
        base.OnActionExecuting(filterContext);
    }
}

[CustomFilter(InputParameter = new List<MyEnumType>() { MyEnumType.Type } )]
public SomeActionInController()
{
}

Я получил ошибку

'InputParameter' is not a valid named attribute argument because it is not a valid attribute parameter type

1 Ответ

12 голосов
/ 13 июля 2011

Параметры фильтра действий - это свойства фильтра действий:

[CustomFilter(InputParameter=10)]
public SomeActionInController()
{
}

public class CustomFilter : ActionFilterAttribute
{
  public int InputParameter { get; set; }

  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    // access this.InputParameter

    base.OnActionExecuting(filterContext);
  }
}

Типы параметров атрибута ограничены типами, описанными здесь - http://msdn.microsoft.com/en-us/library/aa664615%28v=vs.71%29.aspx

Вы можете передать коллекцию через конструктор атрибутов, как описано здесь - Можно ли инициализировать атрибут C # массивом или другим переменным числом аргументов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...