ngr*_*son 0 asp.net-mvc jquery asp.net-mvc-4
我正在尝试使用Javascript将订单行列表传递给异步控制器操作:
var model = "<some JSON string>";
$.ajax({ type: "POST",
url: "/MyController/MyAction",
datatype: "json",
data: { 'orderLines': model},
success: function(msg) {
...
}
});
Run Code Online (Sandbox Code Playgroud)
当我在运行时检查模型变量时,订单行属性的值设置为ok.但是当我在我的控制器操作中放置断点时,订单行传入参数的属性为0.看起来JSON字符串未正确反序列化.
控制器操作如下所示:
public ActionResult AsyncUpdateOrderline(List<OrderLine> orderLines)
{
...
}
Run Code Online (Sandbox Code Playgroud)
如何正确地将复杂对象传递给异步控制器操作?
谢谢,尼尔斯
您需要设置请求Content-Type标头,并使用该JSON.stringify
方法将数据发送到控制器:
var model = [
{ quantity: 1, name: 'some name 1' },
{ quantity: 2, name: 'some name 2' }
];
$.ajax({
url: '/MyController/MyAction',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ orderLines: model }),
success: function(msg) {
...
}
});
Run Code Online (Sandbox Code Playgroud)
注意模型不应该是JSON字符串,而是javascript数组对象,其中每个元素都反映了OrderLine
模型的结构.
归档时间: |
|
查看次数: |
2421 次 |
最近记录: |