我试图从查询字符串中获取可选的字符串列表,例如
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 :(得分:0)
我无法重现您描述的问题。这应该工作。
修改HomeController,使其看起来像:
public class HomeController : Controller
{
public ActionResult Index(ICollection<string> myList)
{
return Content(string.Join(",", myList));
}
}
运行该应用程序并导航至/home/index?mylist=cat&mylist=dog
cat,dog
显示在屏幕上。