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,我修改了答案,加入了一个创建数组的剃须刀表单示例。你能用这个吗?