Передача значений списка с помощью GET в asp.net mvc?

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

  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 и не могу опубликовать данные ... так что теперь я знаю, что он должен каким-то образом передать его, например _2 _... Итак, как можно достичь этого ... Я нашел это, но есть ли другие альтернативы?

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


person Vishal    schedule 04.11.2010    source источник
comment
Вы против использования TempData?   -  person Mayo    schedule 05.11.2010
comment
Да ... Я действительно не могу использовать TempData в моем случае ... Я передаю этот URL-адрес в .swf, который его использует ...   -  person Vishal    schedule 05.11.2010


Ответы (1)


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

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)));
}
person marcind    schedule 05.11.2010
comment
у меня небольшая проблема, я пытаюсь передать два списка ... и почему-то он не делает это правильно, когда я это делаю ... он передает один и тот же список в обоих списках (второй) ... - person Vishal; 05.11.2010