我有一个下拉列表,我可以选择位置来过滤我的数据.
我有一个数组,我用AJAX发布到我的控制器.在我的本地计算机上,当我没有按照预期从我的下拉列表中选择任何内容时,我将参数设置为null.但是,在我的实时网站上,似乎变量不为null,因为它查询数据,因此结果为空.
怎么会这样?我希望该值为null,因此我可以正确过滤数据.
谢谢,
斯特凡
$("#main").on("click","#submit-search-catalog",function () { var url = "/Home/Catalog"; var locations = $("#County").val(); if (url != "") { $.post(url,{ locations: locations },function (data) { if (data) { $(".catalog-container").html(data); } }).fail(function (xhr,status,error) { alert("Error"); }); } return false; });
MVC Controller
public async Task<ActionResult> Catalog(int[] locations = null) { var companies = await db.Users.Where(u => u.IsVisibleInCatalog.Equals(true)).OrderBy(u => u.CompanyRegistrationDate).ToListAsync(); //Sort locations if (!(locations == null || locations.Length == 0)) { companies = companies.Where(c => locations.Contains(c.CompanyLocation) || c.CompanyLocation.Equals(1)).ToList(); } var model = new Catalogviewmodel { Companies = companies }; if (Request.IsAjaxRequest()) { return PartialView("~/Views/Home/_CatalogListPartial.cshtml",companyList); } return View(model); }
— EDIT
我试过这个进行bug测试,在本地它警告“空”,服务器端警告“null”:
if (locations == null) alert("null"); if (locations.length == 0) alert("empty");
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。