是否可以从KendoUI DataSource对象获取DataSourceRequest?

时间:2014-03-05 14:36:39

标签: kendo-ui kendo-datasource

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

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

3 个答案:

答案 0 :(得分:6)

EdsonF's回答是正确的,但这种方法更好一点:

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

取自here

答案 1 :(得分: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;
    }

问题问题已经有一段时间了,但希望它能帮助别人。

此致

埃德森

答案 2 :(得分:0)

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