发送到后端二维数组

时间:2013-09-12 16:52:49

标签: c# asp.net-mvc jquery

我想使用ajax:

从脚本向控制器发送二维数组

这是我的脚本代码:

var regions = [["en", "fr"], ["ru"]];
$.ajax({
     type: "POST",
     traditional: true,
     url: $(this).attr("action"),
     data: {
         regions: regions
     },
     success: function(data) {
         $('#alertMessage').html(data);
     }
});

这是我的控制者:

[HttpPost]
public ActionResult SaveSettings(List<List<string>> regions)
{}

参数“regions”包含Null值。

我很感激任何能在控制器中提供数据的方法(欢迎任何格式:array,json)

我希望得到你的帮助。

最诚挚的问候, 帕维尔

1 个答案:

答案 0 :(得分:4)

您需要更改操作方法的签名以使用string[][],如下所示:

[HttpPost]
public ActionResult SaveSettings(string[][] regions)
{

}

然后在你的脚本中你可以stringify()你的JSON,如下:

var regions = [["en", "fr"], ["ru"]];
 $.ajax({
     type: "POST",
     traditional: true,
     contentType: "application/json; charset=UTF-8",
     url: $(this).attr("action"),
     data: {
         JSON.stringify({ regions: regions })
     },
     success: function(data) {
         $('#alertMessage').html(data);
     }
});

注意:这需要包含JSON.js