2013-03-28 2 views
0

Я пытаюсь получить дополнительный список строк из строки запроса, например,MVC строка запроса - многократный сбор параметров

http://host/test/arg?mylist=cat&mylist=dog 

Из всего я могу сказать, это должно быть так же просто, как объявить коллекцию в мой контроллер, например,

public string GetTest(string uriArg, ICollection<string> mylist) 

Когда я пытаюсь это, mylist приходит в нуль.

Если я переключить контроллер

public string GetTest(string uriArg, string mylist) 

затем MyList поставляется в качестве "(Collection)".

Такие статьи, как http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx, говорят, что это должно быть так же просто, как использовать ICollection здесь. Почему это не работает?

ответ

0

Я не могу воспроизвести проблему, которую вы описываете. Это должно сработать.

  1. Создать новый ASP.NET MVC 3 приложение с использованием Интернета по умолчанию шаблона в
  2. Изменить HomeController так, что она выглядит так:

    public class HomeController : Controller 
    { 
        public ActionResult Index(ICollection<string> myList) 
        { 
         return Content(string.Join(",", myList)); 
        } 
    } 
    
  3. Запустите приложение и перейдите к /home/index?mylist=cat&mylist=dog

  4. Как и ожидалось, cat,dog показан на экране.