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

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

这很容易用这个代码完成:https://stackoverflow.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 加载。我现在实际上已经解决了这个问题......并且因为我花了多长时间而感到有点愚蠢。我也不是一个人想出来的……一个拥有更多剑道的同事做到了!

标签: jquery asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    相关资源
    最近更新 更多