将DataSourceRequest对象从JavaScript函数发送到MVC控制器端点
我想将DataSourceRequest对象从JavaScript函数发送到MVC控制器端点,该端点根据应用于网格数据源的过滤器过滤IQueryable,然后将结果数据导出到excel中 这就是我在javascript上所做的:将DataSourceRequest对象从JavaScript函数发送到MVC控制器端点,javascript,jquery,asp.net-mvc-4,kendo-ui,kendo-grid,Javascript,Jquery,Asp.net Mvc 4,Kendo Ui,Kendo Grid,我想将DataSourceRequest对象从JavaScript函数发送到MVC控制器端点,该端点根据应用于网格数据源的过滤器过滤IQueryable,然后将结果数据导出到excel中 这就是我在javascript上所做的: exportData = function () { var grid = $("#QuoteGrid").data("kendoGrid"); var parameterMap = grid.dataSource.transport.
exportData = function () {
var grid = $("#QuoteGrid").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 = $.toJSON(data);
location.href = CUSTOMER_QUOTES_EXPORT_URL + "?request=" + request;
return false;
}
这是我的mvc控制器的终点
public FileResult ExportQuotes([DataSourceRequest]DataSourceRequest request)
{
...
}
但是请求参数永远不会被JavaScript调用传递的数据填充,正如我所附的图片所示:
我做错了什么
提前感谢您的帮助尝试更改,您正在使用“获取”请求,因此参数将进入查询字符串 var请求=$.toJSON(数据) location.href=CUSTOMER\u QUOTES\u EXPORT\u URL+“?request=“+request 为此: var请求=decodeURIComponent($.param(数据)) location.href=CUSTOMER\u QUOTES\u EXPORT\u URL+“?”+请求