Kendo ui 剑道网格-传输读取未从输入框中获取搜索条件

Kendo ui 剑道网格-传输读取未从输入框中获取搜索条件,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有你的基本剑道格网和一个文本输入框。我只想在点击#Search按钮后,将盒子中的内容传递给transport read。我就是这样做的。该警报向我显示该值在那里,但在网格读取的“id”中未拾取该值。我做错了什么 $("#searchButton").on("click", function () { alert($("#searchCriteria").val()); $($asGrid).data('kendoGrid').dataSource.read(); }); va

我有你的基本剑道格网和一个文本输入框。我只想在点击#Search按钮后,将盒子中的内容传递给transport read。我就是这样做的。该警报向我显示该值在那里,但在网格读取的“id”中未拾取该值。我做错了什么

$("#searchButton").on("click", function () {
    alert($("#searchCriteria").val());
    $($asGrid).data('kendoGrid').dataSource.read();
});

var asGridDataSource = new kendo.data.DataSource({
    transport: {
        read: {
            url: "/api/securitiesapi",
            data: {
                id: $("#searchCriteria").val() 
            }
        }
    },
    schema: {
        model: {
            id: "ID",
            fields: {
                CUSIP: { editable: false },
                SecurityType: { editable: false },
                PoolNumber: { editable: false },
                PoolPrefix: { editable: false },
                IssueDate: { editable: false },
                MaturityDate: { editable: false },
                OriginalBalance: { editable: false },
            }
        }
    }
});
这直接取自网格的剑道文档页面:

read: {
  url: "http://demos.telerik.com/kendo-ui/service/twitter/search",
  dataType: "jsonp", // "jsonp" is required for cross-domain requests; use "json" for same-domain requests
  data: {
    q: $("#search").val() // send the value of the #search input to the remote service
  }
}

我基本上也在做同样的事情,但就是不起作用。

他们的文档要么是错误的,要么是误导性的。要使其按预期方式工作,应将数据属性更改为函数,如下所示:

transport: {
  read: {
    url: "/api/securitiesapi",
    data: function() {
      return { id: $("#searchCriteria").val() };
    }
  }
}

由于我正在使用免费剑道,我不能真的抱怨,但像往常一样,文档几乎把我带到了那里,但最终我失败了(但这起作用了,谢谢。