首页 > 解决方案 > 如何向我的 API (MVC) 添加多个过滤器

问题描述

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

提前致谢!

标签: c#asp.net-mvcmodel

解决方案


推荐阅读