我有一個網絡與Web Api服務器端排序,它的工作原理。我有一個要求添加過濾。當網格的數據源將過濾參數發送到Web Api控制器時,Filter對象始終爲「空」,而非空。這裏是我的設置Kendo網格服務器端MVC過濾
電網數據源:
var myTeamGridDataSource = new kendo.data.DataSource({
serverPaging: true,
serverSorting: true,
serverFiltering: true,
schema: {
data: "data",
total: "count"
},
pageSize: 10,
transport: {
read: {
url: baseMyTeamUrl, // web api
dataType: "json",
type: "POST",
}
},
sort: {
field: "Name",
dir: "asc"
}
});
行動:
public HttpResponseMessage KendoGridMyTeam(GridInputModel inputModel)
{
...
}
GridInputModel.cs
public class GridInputModel
{
public int Page { get; set; }
public int PageSize { get; set; }
public int Skip { get; set; }
public int Take { get; set; }
public List<GridInputSortModel> Sort { get; set; }
public List<GridInputFilterModel> Filter { get; set; }
}
GridInputFilterModel.cs
public class GridInputFilterModel
{
public GridInputFilterModel()
{
filters = new List<GridInputFilterModel>();
}
public string field { get; set; }
public string Operator { get; set; }
public object value { get; set; }
public string logic { get; set; }
public List<GridInputFilterModel> filters { get; set; }
}
請求主體
take=10&skip=0&page=1&pageSize=10&sort[0][field]=Name&sort[0][dir]=asc
&filter[filters][0][field]=Name
&filter[filters][0][operator]=eq
&filter[filters][0][value]=cling
&filter[logic]=and
的GridInputModel「GridInputModel inputModel」被實例化,以及排序的對象是預設的和功能的工作就好了。但是,設置在客戶端併發送到服務器的過濾器是空的。經過一番搜索之後,我無法找到服務器端網格過濾的現代示例。您可能會建議我使用Kendo.Mvc庫:
[DataSourceRequest] DataSourceRequest request
這也會在請求中創建一個Filter對象,但過濾器也是空的。有什麼建議麼?我會猶豫使用的一個選擇是使用parameterMap並將查詢過濾器發送到查詢字符串中。如果我必須,很好,但有人必須有這個工作。