在发送复杂对象时,我的控制器操作方法中的List<Order>
值返回为null
。有人能帮忙识别问题吗?我们需要传递带有索引的对象数组吗?
JavaScript
function OnCustomerClick() {
//var orders = [];
//orders.push({ 'OrderId': '1', 'OrderBy': 'Saroj' });
var complexObject = {
FirstName: 'Saroj',
LastName: 'K',
//Orders : orders
Orders: [{ OrderId: 1, OrderBy: 'Saroj' }, { OrderId: 2, OrderBy: 'Kumar' }]
};
var obj = { customer: complexObject };
var data2send = JSON.stringify(obj);
$.ajax({
type: "POST",
url: 'Home/TestCustomer1',
data: data2send,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (arg) { //call successfull
},
error: function (xhr) {
//error occurred
}
});
};
MVC
public ActionResult TestCustomer1(Customer customer)
{
return Json(customer);
}
C#
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
List<order> Orders { get; set; }
}
public class order
{
public int OrderId { get; set; }
public string OrderBy { get; set; }
}
traditional: true,
ajax选项,但实际上应该是var complexObject = { FirstName: 'Saroj', LastName: 'K', Orders[0].OrderId: 1, Orders[0].OrderBy: 'Saroj', Orders[1].OrderId: 2, Orders[1].OrderBy: 'Kumar' }
以正确绑定到您的模型(并删除contentType:“application / json; charset = utf-8”,
,只使用data:complexObject,
。 - user3559349