代码之家  ›  专栏  ›  技术社区  ›  Vishal

在asp.net mvc中使用GET传递列表值?

  •  2
  • Vishal  · 技术社区  · 14 年前

      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 here并且不能发布数据…所以现在我知道它必须像这样传递 &mylist[0]=2&mylist[1]=3..so on this 但还有其他选择吗?

    请在这里帮助我..我不能在我的情况下真正使用TempData..我只想在asp.net mvc中通过wire传递一个列表或数组?以前有人做过这样的事吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   marcind    14 年前

    可以使用以下函数将列表序列化为一个字符串:

    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)));
    }