Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据

Posted

技术标签:

【中文标题】Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据【英文标题】:Kendo UI MVC Grid DataSourceRequest JavaScript Post Additional Data 【发布时间】:2015-01-24 02:13:01 【问题描述】:

我正在尝试为不属于 Kendo UI Grid 控件的按钮创建单击事件。

这很容易用这个代码完成:https://***.com/a/20973015/60629

工作数据源请求代码

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!");
       
    );
  
);

控制器代码

public ActionResult Getresults([DataSourceRequest]DataSourceRequest request)

    ...

其他数据

但是,我还需要传递其他参数。 JavaScript 更改

 var extraParams =  /* appended data object */
     request: prepared,
     additionaldata: "test"
 ;
 $.post("/Root/Getresults", extraParams, 
  ...

控制器

public ActionResult Getresults([DataSourceRequest]DataSourceRequest request, string additionaldata)

    ...

第一个返回带有数据的DataSourceRequest,第二个将返回附加数据,但请求对象为空。

我不确定如何从这里开始。

【问题讨论】:

您是如何在初始页面加载时绑定 grid_patients 的? 这是一个 .NET MVC 加载。我现在实际上已经解决了这个问题......并且因为我花了多长时间而感到有点愚蠢。我也不是一个人想出来的……一个拥有更多剑道的同事做到了! 【参考方案1】:

感谢一位同事,答案变得相当明显!错误在于我如何设置要发送的 JSON 对象,不应使用请求参数。

var extraParams =  /* appended data object */
     sort: prepared.sort,
     filter: prepared.filter,
     group: prepared.group,
     additionaldata: "test"
 ;

DataSourceRequest 属性会自动同步到控制器中的参数。

【讨论】:

以上是关于Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据的主要内容,如果未能解决你的问题,请参考以下文章

设置 Kendo UI Grid Popup (MVC) 的宽度

MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID

asp.net mvc kendo ui grid 加密列数据

Kendo ui Grid mvc 与 sql 数据库

Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据

Kendo UI MVC 从 MultiSelect 小部件将 Grid 绑定到 DataSource