我们正在将应用程序从 Telerik MVC 转换为 Kendo UI。我们的网格上有 jQuery 代码来捕获当前的 orderBy 和 filterBy 参数,因此我们可以将它们传递回我们的控制器。然后控制器使用这些参数创建 Excel 下载。
然而,orderBy 和 filterBy 现在在 Kendo 中是未定义的。如何检索这些值?
function onDataBound() {
$('a.lnkDeal').each(function () {
this.href = this.href.replace(/&/g, "%26");
});
var grid = $("#Deals").data('kendoGrid');
// Get the export link as jQuery object
var $exportLink = $('#ExportToExcel');
// Get its 'href' attribute - the URL where it would navigate to
var href = $exportLink.attr('href');
// Update the 'orderBy' parameter with the grids' current sort state
href = href.replace(/orderBy=([^&]*)/, 'orderBy=' + (grid.orderBy || '~'));
// Update the 'filter' parameter with the grids' current filtering state
//href = href.replace(/filter=(.*)/, 'filter=' + (grid.filterBy || '~'));
// Update the 'href' attribute. Replace all ' with | to avoid security issue
href = href.replace(/'/g, "|");
$exportLink.attr('href', href);
}