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