3

我有一个控制器的动作:

public ActionResult Find(IEnumerable<string> ids) { ... }

我通过 route 成功调用它../Find?ids=01&ids=02&ids=03DefaultModelBinder无需额外配置即可轻松绑定参数。但是,当我尝试进行出站路由时,即在我的视图中使用这样的代码

@Url.Action("Find", "Grid", new {ids=new List<string>{01,02,03}})

.. 我的..?ids=System.Collections.Generic.List1[System.String]URL 中有一个很好的查询字符串。我已经找到了一些建议编写自定义绑定/路由的答案,但我相信这样一个简单的任务应该在没有任何额外代码的情况下更容易解决。

PS:我很乐意改变我的查询字符串格式,我只想依靠一些默认的框架行为来完成任务:在查询字符串中传递一个数组。


简短版本:使用查询字符串中的数组呈现指向控制器操作的链接的最简单方法是什么?

4

1 回答 1

5

它不是优雅的方式......但简单快捷。尝试

@Url.Action("Find", "Grid", new {ids= string.Join("&ids=", YourList)})
于 2013-06-13T13:05:15.683 回答