Можно ли получить DataSourceRequest из объекта KendoUI DataSource?

Когда объект DataSource (принадлежащий фреймворку Kendo UI) считывает данные с сервера, он отправляет параметры в структуре, которая на стороне сервера часто называется DataSourceRequest (хотя официально такого класса нет). Я ищу способ получить этот объект из DataSource, потому что я хочу отправить его куда-нибудь, не выполняя фактическое чтение в DataSource (и в сетке, которая его использует). Является ли это возможным? Я нашел эту ветку на форуме телелрика: http://www.telerik.com/forums/passing-current-datasourcerequest-to-a-custom-command, но предложенное решение мне не подходит.

Буду благодарен за любые подсказки :)


person Rummy    schedule 05.03.2014    source источник


Ответы (3)


Ответ EdsonF был правильным, но этот подход немного лучше:

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

взято из здесь

person Mahmood Dehghan    schedule 05.09.2014

Вы можете сделать это следующим образом:

Примечание: это не способ 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;
    }

Прошло некоторое время с тех пор, как вопрос был задан, но, надеюсь, он поможет другим.

С уважением

Эдсон

person EdsonF    schedule 27.08.2014

Такой класс есть. Вам просто нужно добавить использование Kendo.Mvc.UI. И он отправляется на сервер в этом конкретном формате, если вы добавили файл aspnetmvc.min.js и используете оболочки MVC.

person Petur Subev    schedule 05.03.2014