Asp.net mvc 将字符串数组参数传递给MVC控制器

Asp.net mvc 将字符串数组参数传递给MVC控制器,asp.net-mvc,arrays,asp.net-mvc-3,parameters,controller,Asp.net Mvc,Arrays,Asp.net Mvc 3,Parameters,Controller,我有下面的控制器来获取四个参数和一个字符串数组 public Response Get(string a, double b, double c, string[] d) { do something } 如你所见,第四个(d)参数是一个字符串数组。前3个参数获取值,但d显示null 我正在使用fiddler调试以下url 04/api/Controller?a=Hello&b=-37.8031231&c=144.9836514&d=Italian&d=

我有下面的控制器来获取四个参数和一个字符串数组

public Response Get(string a, double b, double c, string[] d)
{
   do something
} 
如你所见,第四个(d)参数是一个字符串数组。前3个参数获取值,但d显示null

我正在使用fiddler调试以下url

04/api/Controller?a=Hello&b=-37.8031231&c=144.9836514&d=Italian&d=bars

我做错了什么?是url吗?

在看不到您的视图的情况下,我可以抽象出您将两个输入命名为name='d',而无需编制索引

例如:

可以通过使用数组索引命名id输入来创建数组

@using (Html.BeginForm())
{
    <input type="text" name="d[1]">
    <input type="text" name="d[2]">
}
@使用(Html.BeginForm())
{
}
如果为输入编制索引,框架将使用它们作为列表

注意:
你打开URL。如果没有Post,您无法传递数组或任何复杂对象。

您可以从fiddler发布数组数据,您提供的URL是正确的。但请确保在请求头中有正确的内容类型

您不必创建视图来测试控制器操作方法

客户端请求

服务器响应

上面提供的注意事项是控制器操作方法,我注意到您在发布答案后正在使用api控制器。一旦为api控制器完成,我将编辑答案


如果您是从fiddler发帖,上述内容也适用于APIController

感谢您抽出时间回复。我还没有索引,只有一个控制器,我用的是fiddler。这是一个手动输入的url。。那么我的url应该是什么样子呢?我的意思是我应该使用/api/Controller吗?a=Hello&b=-37.8031231&c=144.9836514&d1=意大利语&d2=bars@user2094169,您不能将数组传递给具有URL的控制器。你必须使用表单。谢谢你的提示。Goodday@user2094169,我修改了答案,加入了一个创建数组的剃须刀表单示例。你能用这个吗?