我想发送一个对象数组到我的控制器,但有一些困难。MVC如何接收来自json的对象数组?
它正在发送数组,当传递给控制器时,数组的对象计数也似乎没问题。 但是,如果你看对象的内部所有属性的对象是null
如何可能?
JAVASCRIPT:
function callme(results) {
for (var i = 0; i < results.length; i++) {
var endRes = {
Id: results[i].id,
Icon: results[i].icon
};
jsonObj.push(endRes);
}
sendPackage(jsonObj);
}
function sendPackage(jsonObj) {
$.ajax({
type: "POST",
url: '../../Home/RegisterList',
data: { List: jsonObj },
cache: false,
dataType: "json",
error: function (x, e, data) {
alert(data);
}
});
}
控制器:
[HttpPost]
public JsonResult RegisterList(ICollection<DetailsModel> List)
{
foreach (var i in List) ....... // other process will be here
............................... // other process will be here
return Json(new { message = "OK" });
}
MODEL:
public class DetailsModel
{
public string Id { get; set; }
public string Icon { get; set; }
}
你确定结果[i] .id不是结果[i] .Id?给你的错误会有道理:会添加元素,但为空值。 – peterfoldi 2012-02-13 17:12:53
我相信,在发送之前,对象数组似乎还没有正确的值。但不知何故,它没有达到控制器。 – MrGorki 2012-02-14 10:20:49
一个非常类似的问题在另一个问题有一个更简单的答案 http://stackoverflow.com/questions/7116099/send-array-to-mvc-controller-via-json – Appetere 2012-09-21 17:14:09