ASP.NET MVC 3控制器无法接收json 2D数组
不确定它是否是一个bug。我按照一些教程将Json 2D数组发布到ASP.NET MVC控制器,当数组的第一个元素不为空时,它可以正常工作,否则会失败 示例:如果我的json obj是ASP.NET MVC 3控制器无法接收json 2D数组,json,asp.net-mvc-3,Json,Asp.net Mvc 3,不确定它是否是一个bug。我按照一些教程将Json 2D数组发布到ASP.NET MVC控制器,当数组的第一个元素不为空时,它可以正常工作,否则会失败 示例:如果我的json obj是 var obj = { ItemsArr: [[1, 2],[]] // first element is an array with a few elements }; 控制器将正确接收数据。但是,如果2D数组的第一个元素是空数组,如: var obj = { ItemsArr: [[],
var obj = {
ItemsArr: [[1, 2],[]] // first element is an array with a few elements
};
控制器将正确接收数据。但是,如果2D数组的第一个元素是空数组,如:
var obj = {
ItemsArr: [[], [1, 2]] // first element is an EMPTY array
};
控制器将接收空值
我使用jquery.json-2.3.min.js将objs转换为json字符串。
转换后的字符串看起来很好:
{"ItemsArr":[[1,2],[]]}
{"ItemsArr":[[],[1,2]]}
型号代码:
public class Model
{
public List<string[]> ItemsArr {get;set;}
}
public MyController : Controller
{
public ActionResult DoSomething( Model model )
{ ...
}
}
我建议在服务器端传递一个对象数组并创建一个具有相同属性的类,然后asp.net MVC将在JS端自动将该数组转换为列表或作为动作签名一部分的任何其他IEnumerable
{"ItemsArr":[null,[1,2]]}