Передача списка значений с помощью GET в asp.net mvc? - PullRequest
2 голосов
/ 05 ноября 2010

У меня есть следующие данные-

  IList<int> mylist= new List<int>();
    int value=0;
    ViewData["URL"] = "/Services/Getdata/?value="+&value+"&mylist="+mylist;

   // It hits this function   
    public void Getdata(int value,IList<int> mylist)
    {}

Теперь проблема в том, что список не передается корректно ... Я делаю GET здесь и не могу опубликовать данные ... так что теперь я знаю, что некоторым это нужно, как &mylist[0]=2&mylist[1]=3..so on ... Так как этого достичь ... Я нашел это , но есть ли другие альтернативы?

Пожалуйста, помогите мне здесь .. Я действительно не могу использовать TempData в моем случае ... Я хочу передать список или массив по проводам в asp.net mvc? Кто-нибудь делал что-то подобное раньше?

1 Ответ

2 голосов
/ 05 ноября 2010

Вы можете использовать следующую функцию для сериализации вашего списка в одну строку:

public string Serialize(System.Collections.Generic.IList<int> list, string paramName) {
    return String.Join("&", list.Select((value, index) => String.Format(CultureInfo.InvariantCulture, "{0}[{1}]={2}", paramName, index, value)));
}
...