Передача массива в RouteValues и рендеринг модели url, удобной для связывания

При передаче RouteValueDicitonary или анонимного объекта в метод @Url.Action (или любой из его аналогов), есть ли способ правильно передать объект коллекции или IEnumerable, чтобы сгенерировать url, совместимый с биндером модели по умолчанию?

Например, допустим, у меня есть действие вроде этого:

public ActionResult Index(ICollection<int> ids)
  {
    ...do something
  }

и в моем шаблоне я делаю что-то вроде этого:

@Url.Action("Index", routeValues:new int[]{1,2,3})

цель состоит в том, чтобы иметь вывод url вроде этого:

... /index?ids=1&ids=2&ids=3

но на самом деле вывод url выглядит примерно так:

... /index?ids=System.Int[]

Я предполагаю, что в настоящее время нет поддержки для этого. Если нет, то в какой части MVC мне нужно создать пользовательский обработчик или что-то еще, чтобы отменить эту функциональность по умолчанию?

12
задан DMac the Destroyer 5 December 2011 в 19:57
поделиться