【发布时间】:2016-09-08 04:05:10
【问题描述】:
我在电子商务的购物车上工作。我有两个视图模型。
首先提供客户信息:
public class CartViewModel
{
public string FirstName{get;set;}
public string Email{get;set;}
//... other fields
}
其次是客户购物车:
public class ProductsCart
{
public Guid Id { get; set; }
public decimal Price { get; set; }
public int ItemsOrdered { get; set; }
}
主要是购物车存储在用户 localStorage 中,我应该通过 jquery 将其从 localStorage 与客户信息一起传递给 MVC 的操作:
[HttpPost]
public ActionResult ConfirmOrder(CartViewModel model, IEnumerable<ProductsCart> cart)
{
// validate and save to database
}
我有 javascript 方法可以将数据发送到我的操作:
function ConfirmOrder() {
var serverCart = LocalCartToSercerCart(); //see first screnshot
var customerData = $("#FORM_WITH_CUSTOMERS_VIEW_MODEL").serialize();
$.ajax({
method: "POST",
url: "/Cart/ConfirmOrder",
data: {model: customerData, cart: serverCart }
})
.done(function () {
//do something
});
}
但我的 CartViewModel 总是得到空值(屏幕截图 2)
我还附加了带有我的调试信息的文件。
如果我这样写 javascript 函数:
function ConfirmOrder() {
var customerData = $("#cartForm").serialize();
$.ajax({
method: "POST",
url: "/Cart/ConfirmOrder",
data: customerData
})
.done(function () {
//some code
});
}
我只得到模型数据(见截图 3)
【问题讨论】:
标签: javascript c# jquery asp.net-mvc