我正在用C#构建一个应用程序(有点生锈),并且正在使用AJAX调用从数据库中返回一些数据。我想通过将一个对象传递给控制器来对此添加一些过滤。
当仅使用一个过滤器时,它就可以工作,但是在使用多个过滤器时,我却很努力。如何设置它,以便可以检查是否正在使用该过滤器,然后在其上过滤数据库?
这是我当前的代码:
JS:
dataObj = new Object;
if (FormData) {
$.each(FormData, function (index, item) {
dataObj[item.name] = item.value;
});
};
$.ajax({
url: '@Url.Action("GetCompanies")',
data: dataObj,
type: 'GET',
dataType: 'json',
success: function (result) {
//Do stuff with data
}
});
控制器:
public JsonResult GetCompanies(SearchFilter SearchFilters)
{
if (!String.IsNullOrEmpty(SearchFilters.CustomerType) && SearchFilters.CustomerType != "All")
{
var data = _db.Customers.Where(a => a.Type.Contains(SearchFilters.CustomerType)).ToList();
var jsonData = Json(data, JsonRequestBehavior.AllowGet);
return jsonData;
}
else
{
var data = _db.Customers.ToList();
var jsonData = Json(data, JsonRequestBehavior.AllowGet);
return jsonData;
}
}
谢谢!