Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将'Kendo.Mvc.UI.DataSourceRequest'类型的对象从jquery传递到Mvc操作_C#_Jquery_Asp.net Mvc 4 - Fatal编程技术网

C# 将'Kendo.Mvc.UI.DataSourceRequest'类型的对象从jquery传递到Mvc操作

C# 将'Kendo.Mvc.UI.DataSourceRequest'类型的对象从jquery传递到Mvc操作,c#,jquery,asp.net-mvc-4,C#,Jquery,Asp.net Mvc 4,目标: 我想将类型为Kendo.Mvc.UI.DataSourceRequest的对象传递给Mvc操作,以便根据应用的排序和筛选从数据库中获得结果 问题/障碍: 当对象到达操作时,该对象将变为null 我的控制器动作 我的jquery函数 我尝试了JSON.stringify,但还是一样 也像var datatoPost=“{'request':'”+JSON.stringify(gridDatasource)+','TotalRec':'“+100+”}” 我是否需要在此处解析对象或转换其类型

目标: 我想将类型为
Kendo.Mvc.UI.DataSourceRequest
的对象传递给Mvc操作,以便根据应用的排序和筛选从数据库中获得结果

问题/障碍: 当对象到达操作时,该对象将变为null

我的控制器动作

我的jquery函数

我尝试了JSON.stringify,但还是一样 也像
var datatoPost=“{'request':'”+JSON.stringify(gridDatasource)+','TotalRec':'“+100+”}”


我是否需要在此处解析对象或转换其类型。

为我做了以下工作:

$("#excel").kendoButton({
  click: function (event) {

    var data = grid.dataSource._params();
    var prepared = grid.dataSource.transport.parameterMap(data);

    $.post("/Root/AnotherControllerMethod", prepared, 
       function (data, status, xhr) {
         console.log("Ok!");
       }
    );
  }
});

不确定这是否有帮助,但KendoUI包装器确实很有帮助,因为它们将所需的javascript呈现到页面上。您应该使用这些包装器库。查看本文中的演示,我也面临类似的问题。@spottedone提供的解决方案非常有效。
function getData() {
    var gridDatasource = $('#gridname').data('kendoGrid').dataSource.options;
    var datatoPost = "{'request': '" + JSON.stringify(new kendo.data.DataSource(gridDatasource)) + "', 'TotalRec': '" + 100 + "'}";
    //new kendo.data.DataSource
    $.ajax({
        type: "Post",
        url: '/Administrator/Getresults/',
        contentType: "application/json; charset=utf-8",
        data: datatoPost,
        dataType: "json",
        processdata: false,
        success: function (value) {
            alert(value.d);
        },
        error: function () { alert("Ajax Error"); }
    });
}
$("#excel").kendoButton({
  click: function (event) {

    var data = grid.dataSource._params();
    var prepared = grid.dataSource.transport.parameterMap(data);

    $.post("/Root/AnotherControllerMethod", prepared, 
       function (data, status, xhr) {
         console.log("Ok!");
       }
    );
  }
});