I am attempting to create a click event for an button that is not part of the Kendo UI Grid controls.
This was fairly easily accomplished with this code: https://stackoverflow.com/a/20973015/60629
Working DataSourceRequest Code:
JavaScript
$("#excel").kendoButton({
click: function (event) {
var grid = $('#grid_patients').data('kendoGrid');
var parameterMap = grid.dataSource.transport.parameterMap;
var sortData = grid.dataSource.sort();
var filterData = grid.dataSource.filter();
var groupData = grid.dataSource.group();
var prepared = parameterMap({ sort: sortData, filter: filterData, group: groupData });
$.post("/Root/Getresults", prepared,
function (data, status, xhr) {
console.log("Ok!");
}
);
}
});
Controller Code
public ActionResult Getresults([DataSourceRequest]DataSourceRequest request)
{
...
Additional Data
However, I need to also pass additional parameters. JavaScript Changes
var extraParams = { /* appended data object */
request: prepared,
additionaldata: "test"
};
$.post("/Root/Getresults", extraParams,
...
Controller
public ActionResult Getresults([DataSourceRequest]DataSourceRequest request, string additionaldata)
{
...
The original returns the DataSourceRequest with data and the secondary one will return the additionaldata, but has an empty request object.
I'm unsure how to proceed from here.