如何向我的API(MVC)添加多个过滤器

时间:2018-10-21 16:45:37

标签: c# asp.net-mvc model

我正在用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;
    }
}

谢谢!

0 个答案:

没有答案