Ajax数据到MVC模型中
本文关键字:模型 MVC 数据 Ajax | 更新日期: 2023-09-27 18:00:14
我们非常简单的模型:
public class OrderSubmissionProductViewModel
{
public int Id { get; set; }
public decimal Price { get; set; }
public int Qty { get; set; }
}
public class OrderSubmissionViewModel
{
public int CustomerId { get; set; }
public int AccountId { get; set; }
public OrderSubmissionProductViewModel[] Products { get; set; }
}
AJAX:
$.ajax({
url: self.urlSubmitOrder,
data: JSON.stringify({ submission: submission }),
type: 'POST',
success: function () { alert("Submitted"); },
fail: function () { alert("Failed"); }
});
MVC控制器具有以下方法签名:
public ActionResult SubmitAdminOrder(OrderSubmissionViewModel submission)
{ ... }
这就是POST的样子:
{"submission":{"CustomerId":43,"AccountId":"20000","Products":[{"Id":4,"Price":100,"Qty":1},{"Id":6,"Price":14,"Qty":1}]}}
我可以在控制器方法中找到一个断点,并且模型不是null,但它的所有属性都是默认值。它没有正确绑定。我做错了什么?
我们使用的是ASP.Net MVC 4。
确保submission
对象不是空的,您可以尝试将contentType
添加到ajax选项中吗?
$.ajax({
url: self.urlSubmitOrder,
data: JSON.stringify({ submission: submission }),
type: 'POST',
contentType: "application/json; charset=utf-8",
success: function () { alert("Submitted"); },
fail: function () { alert("Failed"); }
});
或者看看这个使用Json 将两个对象传递给控制器的后视图模型