我想發送一個對象數組到我的控制器,但有一些困難。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