4

当 DataSource 对象(属于 Kendo UI 框架)从服务器读取数据时,它会在服务器端通常称为 DataSourceRequest 的结构中发送参数(尽管官方没有这样的类)。我正在寻找一种从 DataSource 获取此对象的方法,因为我想将其发送到某处而不对 DataSource(以及使用它的 Grid)执行实际读取。可能吗?我在telelrik 论坛上找到了这个帖子:http ://www.telerik.com/forums/passing-current-datasourcerequest-to-a-custom-command但建议的解决方案对我没有好处。

我将不胜感激任何提示:)

4

3 回答 3

6

EdsonF 的回答是正确的,但这种方法要好一些:

var data = grid.dataSource._params();
var prepared = grid.dataSource.transport.parameterMap(data);
location.href = "/MyController/MyDataEndPint?"+prepared;      

取自这里

于 2014-09-05T15:32:16.983 回答
3

您可以通过以下方式进行操作:

注意:这不是 Ajax 方式 - 如果您需要 Ajax 方式,请告诉我

ExportData = function () {

        var grid = $("#myGrid").data("kendoGrid");
        var parameterMap = grid.dataSource.transport.parameterMap;
        var sortData = grid.dataSource.sort();
        var filterData = grid.dataSource.filter();
        var groupData = grid.dataSource.group();        
        var data = parameterMap({ sort: sortData, filter: filterData, group: groupData });
        var request = decodeURIComponent($.param(data));
        location.href = "/MyController/MyDataEndPint?"+request;                  
        return false;
    }

自从提出这个问题以来已经有一段时间了,但希望它会对其他人有所帮助。

问候

埃德森

于 2014-08-27T14:37:54.160 回答
0

有这样课。您只需要添加 using Kendo.Mvc.UI。如果您添加了 aspnetmvc.min.js 文件并且您正在使用 MVC 包装器,它将以该特定格式发送到服务器。

于 2014-03-05T18:42:55.903 回答