c#和jquery,
我有两个下拉列表(类别和产品),并且必须根据类别更改产品列表。
@Html.DropDownList("categoryId", new SelectList(ViewBag.Category, "Id", "Name"), "Select Parent Category", new { @class = "form-control categorydata" })
@Html.DropDownList("productId", new SelectList(ViewBag.Product, "Id", "Name"), "Select Product", new { @class = "form-control product-list" })
我正在编写以下控制器以获取产品列表。它有效。
[HttpGet]
public JsonResult GetProducts(int categoryId)
{
int tot = new Products().Total;
int cont = 1;
Category cat = new Category(2);
var products = new Products(cont, tot, cat);
// ViewBag.products = new Products(1,new Products().Total,new Category(categoryId));
return Json(products);
}
我的jquery是,
$('.categorydata').change(function () {
var selCat = $(".categorydata").val();
var url = "~/Add/GetProducts";
if (selCat.length != 0) {
$.get(url, { id: SelCat }, function (data) {
alert(data);
});
}
});
这个jquery没有调用控制器,也无法获取数据。
请帮我解决。
答案 0 :(得分:1)
您应该将json数据中的属性名称与action方法的参数名称保持一致。
$.get(url, { categoryId : SelCat }, function (data) {
参考SO Post。
答案 1 :(得分:0)
你应该使用它。
return Json(products,System.Web.Mvc.JsonRequestBehavior.AllowGet);
答案 2 :(得分:0)
尝试输入dataType:' json'在你ajax电话: