json嵌套数组的MVC3绑定

问题描述:

我有一个简单的javascript数组。它的声明如下:json嵌套数组的MVC3绑定

coords = [] 

,每次用户点击的图像上,我做这样的事情:

coords.push([x,y]) 

所以我最终是这样的:(在JavaScript)

[[342,144],[477,99],[632,148],[529,162]] 

,但我不知道该怎么在控制器方法将其绑定到...我已经试过

List<List<int>>, int[][], int[,] 

他们都没有工作。它只适用于我使用字符串。

这是我使用它发送到服务器的代码:

$.ajax({ 
    type: "POST", 
    url: "/home/SaveCoords", 
    data: { coords: JSON.stringify(coords) } 
}).done(function (msg) { 
    alert("Data Saved: " + msg); 
}); 

这是我的控制器

[HttpPost] 
public ActionResult SaveCoords(string coords) 
{ 
    return Json("Hello", JsonRequestBehavior.AllowGet); 
} 

帮助上使用的代码?

+0

您是否尝试过的List >? – brightgarden 2012-04-27 17:05:26

您应该将请求内容类型设置为application/json,并相应地更改data

这是工作示例:

$.ajax({ 
     type: "POST", 
     url: "/home/SaveCoords", 
     contentType : 'application/json', 
     data: JSON.stringify(coords) 
    }).done(function (msg) { 
     alert("Data Saved: " + msg); 
    }); 

和服务器

public ActionResult SaveCoords(int[][] coords) 
    { 
     return View(); 
    } 
+0

是的,正如我所说 - 这是工作示例 – archil 2012-04-27 17:05:38

+1

刚刚确认。有一个upvote。 – 2012-04-27 17:08:35

+0

yup!有用!非常感谢! – 2012-04-27 17:17:48