Javascript 剑道ui网格查询参数

Javascript 剑道ui网格查询参数,javascript,angularjs,asp.net-web-api,kendo-grid,kendo-datasource,Javascript,Angularjs,Asp.net Web Api,Kendo Grid,Kendo Datasource,我正在使用KendoUIGrid进行服务器端分页、过滤和排序。在C#WebAPI中,所有网格参数(如过滤器、排序、currentpage和页面大小)都由kendo grid API在url中发送,我的WebAPI中有DataSourceRequest,它可以读取所有查询参数并应用它们,同时我从API返回数据 我有一个具体的情况。我有一个导出链接,在其中我需要使用$http服务来调用我与所有过滤器和排序一起使用的API,这些过滤器和排序应用于网格并返回所有记录 我拥有网格的所有属性,比如过滤器和排

我正在使用KendoUIGrid进行服务器端分页、过滤和排序。在C#WebAPI中,所有网格参数(如过滤器、排序、currentpage和页面大小)都由kendo grid API在url中发送,我的WebAPI中有DataSourceRequest,它可以读取所有查询参数并应用它们,同时我从API返回数据

我有一个具体的情况。我有一个导出链接,在其中我需要使用$http服务来调用我与所有过滤器和排序一起使用的API,这些过滤器和排序应用于网格并返回所有记录

我拥有网格的所有属性,比如过滤器和排序

我可以从kendogrid的数据源访问它

 var query = {
       page: 1,
       pageSize: grid.dataSource.total(),
       sort: grid.dataSource.sort(),
       filter: grid.dataSource.filter()
     }
我需要通过应用所有过滤器和排序来调用用于呈现kendogrid的相同API。有谁能帮助我,剑道网格是如何用所有这些参数生成查询字符串的。所以可能我可以重复使用相同的功能

filter=stepType~eq~%27拒绝%27&sort=&aggregate=&pageSize=10&page=2&isFirstLoad=false&showColumns=name%2CtotalScore%2Crank%2CexpirationDate%2CstepName%2C&&uu=1450310137369


谁能帮助我在哪里找到一个函数来生成所有查询参数,包括从网格中检索到的过滤器、分页和排序值。

我以前使用angular使用parameterMap实现了这一点,但我想如果只使用jQuery,情况会非常相似。看这个

使用parameterMap的代码片段

$scope.pageableData = new kendo.data.DataSource({
            type: "aspnetmvc-ajax",
            pageSize: $scope.pageSize,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true,
            transport: {
                read: {
                    url: $rootScope.projectURL + '/api/DocLibItems/PageableGridItems',
                    dataType: 'json',
                    type: 'post'

                },
                parameterMap: function (data, type) {
                    $scope.pageableGridCreateCache = false;
                    var filter = data.filter === undefined ? null : data.filter;
                    if (filter) {
                        angular.forEach(filter.filters, function (item) {
                            item._operator = item.operator;
                        });
                    }
                    return {
                        ProjectID: $scope.projectID,
                        PageNumber: data.page,
                        PageSize: data.pageSize,
                        Sorting: data.sort === undefined ? null : data.sort,
                        Filtering: filter
                    };
                }
            }
});
ParmeterMap返回ProjectID、PageNumber、PageSize、排序和筛选。api应该期望接收该数据并基于该数据返回数据

初始调用将调用相同的api,其中pageNumber将为1,pageSize将为默认pageSize,排序将为null,并且不会进行筛选


对api的调用是post,因此url中不会有任何参数。

非常感谢。我没想到改造params这么容易。