将String Array参数传递给MVC控制器

时间:2013-02-25 05:51:57

标签: 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=bars

我做错了什么?它是网址吗?

2 个答案:

答案 0 :(得分:1)

如果没有看到您的视图,我可以抽象您将2个输入命名为name ='d'而不编制索引

示例:

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

@using (Html.BeginForm())
{
    <input type="text" name="d[1]">
    <input type="text" name="d[2]">
}

如果您对输入编制索引,框架将使用它们作为列表

注意: 你提出了URL。没有Post就无法传递数组或任何复杂对象。

答案 1 :(得分:1)

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

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

客户请求

enter image description here

服务器响应

enter image description here

P.S。上面提供的是控制器动作方法,我注意到你在发布答案后正在使用api控制器。我将为api控制器编辑答案。

以上适用于APIController,如果您是从提琴手发帖