Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 多值获取参数-路由生成_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 多值获取参数-路由生成

C# 多值获取参数-路由生成,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,使用多值时,获取如下参数: /?param=1&param=2&param=3 可以自动将模型绑定到列表,如下所示: public ActionResult MyAction(List<int> param) 使用数组/列表不起作用- @Url.Action("MyAction", new { param = new List<string>{ "1", "2", "3" } }) 干杯这不是一个很好的解决方案,如果你知道是否要添加?或者不是 @Ur

使用多值时,获取如下参数:

/?param=1&param=2&param=3
可以自动将模型绑定到列表,如下所示:

public ActionResult MyAction(List<int> param)
使用数组/列表不起作用-

@Url.Action("MyAction", new { param = new List<string>{ "1", "2", "3" } })

干杯

这不是一个很好的解决方案,如果你知道是否要添加?或者不是

@Url.Action("MyAction")?param=@string.Join("&param=", new [] {1, 2, 3})

也许可以写一个助手来做这件事。请参见

不要使用内联初始化,这是您的错误。我已经尝试了这两种方法(而且这两种方法在程序上都没有区别)@AndreiV:我理解您的评论,但不明白为什么这会有区别。您能解释一下吗?路由设置是什么样子的?自定义ModelBinder或RouteService怎么样?我找不到解决方案,以前一直在努力。
?param=System.Collections.Generic.List%601%5BSystem.String%5D
@Url.Action("MyAction")?param=@string.Join("&param=", new [] {1, 2, 3})