C# 多值获取参数-路由生成
使用多值时,获取如下参数:C# 多值获取参数-路由生成,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,使用多值时,获取如下参数: /?param=1¶m=2¶m=3 可以自动将模型绑定到列表,如下所示: public ActionResult MyAction(List<int> param) 使用数组/列表不起作用- @Url.Action("MyAction", new { param = new List<string>{ "1", "2", "3" } }) 干杯这不是一个很好的解决方案,如果你知道是否要添加?或者不是 @Ur
/?param=1¶m=2¶m=3
可以自动将模型绑定到列表,如下所示:
public ActionResult MyAction(List<int> param)
使用数组/列表不起作用-
@Url.Action("MyAction", new { param = new List<string>{ "1", "2", "3" } })
干杯这不是一个很好的解决方案,如果你知道是否要添加?或者不是
@Url.Action("MyAction")?param=@string.Join("¶m=", new [] {1, 2, 3})
也许可以写一个助手来做这件事。请参见不要使用内联初始化,这是您的错误。我已经尝试了这两种方法(而且这两种方法在程序上都没有区别)@AndreiV:我理解您的评论,但不明白为什么这会有区别。您能解释一下吗?路由设置是什么样子的?自定义ModelBinder或RouteService怎么样?我找不到解决方案,以前一直在努力。
?param=System.Collections.Generic.List%601%5BSystem.String%5D
@Url.Action("MyAction")?param=@string.Join("¶m=", new [] {1, 2, 3})