我想将DataSourceRequest对象从JavaScript函数发送到MVC控制器端点,该端点考虑到应用于网格dataSource的过滤器来过滤IQueryable,然后将结果数据导出到excel。
这就是我在JavaScript上所做的事情:
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调用传递的数据,正如您从所附的图片中可以看到的那样:
我做错了什么?
在此先感谢您的帮助
尝试更改,您正在使用“ GET”请求,因此参数将放入查询字符串中。
var request = $ .toJSON(data);
location.href = CUSTOMER_QUOTES_EXPORT_URL +“?request =” +请求;
对此:
var request = encodeURIComponent($。param(data));
location.href = CUSTOMER_QUOTES_EXPORT_URL +“?” +请求;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句