MVC查询字符串 - 多参数集合

时间:2013-03-28 13:07:35

标签: asp.net-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一样简单。为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

我无法重现您描述的问题。这应该工作。

  1. 使用默认的Internet模板
  2. 创建新的ASP.NET MVC 3应用程序
  3. 修改HomeController,使其看起来像:

    public class HomeController : Controller
    {
        public ActionResult Index(ICollection<string> myList)
        {
            return Content(string.Join(",", myList));
        }
    }
    
  4. 运行该应用程序并导航至/home/index?mylist=cat&mylist=dog

  5. 正如预期cat,dog显示在屏幕上。