【问题标题】:Uniform way of passing an array in querystring in ASP.NET MVC 4在 ASP.NET MVC 4 中在查询字符串中传递数组的统一方法
【发布时间】:2013-06-13 12:50:15
【问题描述】:

我有一个控制器的动作:

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

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

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

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

P.S.:我非常乐意更改我的查询字符串格式,我只想依靠一些 默认 框架行为来完成任务:传入一个数组查询字符串。


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

【问题讨论】:

    标签: asp.net-mvc routing query-string model-binding


    【解决方案1】:

    它不是优雅的方式......但简单而快速。试试

    @Url.Action("Find", "Grid", new {ids= string.Join("&ids=", YourList)})
    

    【讨论】:

    • 谢谢,但这正是我试图避免的那种代码 :) 当你不得不使用这样的黑客来做我称之为“基本典型的”的事情时,这对我来说总是很奇怪任务”。
    猜你喜欢
    • 2016-09-18
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多