【发布时间】:2015-05-20 21:56:39
【问题描述】:
我有一个 JavaScript 函数,它使用 AJAX 请求将数据发送到我在 asp.net MVC 上的控制器。看:
function verCarrinho() {
$.ajax({
type: "POST",
url: "/Produto/Carrinho",
data: { "carrinho": carrinho },
success: function (e) {
}
});
}
其中 carrinho 是一个具有两个属性的数组。其中一个属性是我需要发送到我的控制器以使用 EF 对我的数据库进行查询的 ID。
我在控制器上的 ActionNResult:
[HttpPost]
public ActionResult Carrinho(List<Carrinho> carrinho)
{
var ids = carrinho.Select(s => s.idLivro).ToList();
var resultado = db.Produtos.Where(w => ids.Contains(w.idProduto));
return PartialView("_Carrinho", resultado);
}
问题是:我的变量“resultado”保持为空! AJAX 不发送 ID。如果我在 resultado 上设置断点,我可以看到 AJAX 发送对象,但我看不到 ID。
我有一个与我的参数类型相同的类:
public class Carrinho
{
public int idLivro;
public int qtdProduto;
}
我不知道我能不能说清楚,但我希望你能帮忙。
谢谢。
【问题讨论】:
-
将对象转换为 JSON 并将 JSON 作为字符串发送给调用,然后在方法内部将字符串转换回对象
-
@jcuenod 当然,我的错,对不起!我现在就这样做!谢谢你们。我不能投票给你的答案,因为我没有这方面的声誉,但我接受了我自己的答案,比如解决方案,这只是我能做到的。再见。
标签: javascript c# ajax asp.net-mvc