【发布时间】:2012-02-13 17:07:02
【问题描述】:
我正在尝试向我的控制器发送一个对象数组,但遇到了一些困难。
它正在发送数组,当传递给控制器时,数组的对象计数似乎也可以。
但是,如果您查看对象内部,则对象的所有属性都是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" });
}
型号:
public class DetailsModel
{
public string Id { get; set; }
public string Icon { get; set; }
}
【问题讨论】:
-
您确定 results[i].id 不是 results[i].Id 吗?考虑到您的错误,这将是有意义的:将添加元素但具有空值。
-
我敢肯定,对象数组在发送前似乎也可以使用正确的值。但不知何故,它没有到达控制器。
-
一个非常相似的问题在另一个问题stackoverflow.com/questions/7116099/…有一个简单得多的答案@
标签: javascript json object asp.net-mvc