Kendo ui 剑道网格如何从java脚本传递附加参数

Kendo ui 剑道网格如何从java脚本传递附加参数,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,在telerik扩展中,我使用了向ajax请求传递附加数据 function onDataBinding(e) { e.data = {argument : 4}; } 其中e是内部有数据对象的div cointainer, 我怎样才能用剑道做到这一点?我也试过同样的方法,但剑道的要求完全不同。试试这个: .Read(read => read.Action("Controller", "Action") .Data(@<text> functi

在telerik扩展中,我使用了向ajax请求传递附加数据

function onDataBinding(e)
{
    e.data = {argument : 4};
}
其中e是内部有数据对象的div cointainer, 我怎样才能用剑道做到这一点?我也试过同样的方法,但剑道的要求完全不同。

试试这个:

.Read(read => read.Action("Controller", "Action")
    .Data(@<text>
        function() {                                            
            return {
                searchModel: DataFunctionName(),
                userName: '#=UserName#'
            }
        }
    </text>)
)
  • 将其添加到网格读取函数或任何CRUD操作中:

    .Read(read => read.Action("ReadCompanyService", "Admin").Data("CompanyServiceFilter"))
    
  • 添加javascript:

    function CompanyServiceFilter()
    {
        return {
            company: $("#ServiceCompany").val()
        }
    } 
    
  • 在控制器中:

    public ActionResult ReadCompanyService([DataSourceRequest]DataSourceRequest request, string company)
    {
        var gridList = repository.GetCompanyServiceRateList(company);
        return Json(gridList.ToDataSourceResult(request));
    }
    

  • 请注意,在读取、创建、更新和删除操作中只允许传递字符串类型的数据。

    如果您想向ajax请求传递一些参数,可以在网格上使用parameterMap配置

    这将传递给您的Ajax请求

    parameterMap: function (options, operation) {
        if (operation === "read") {
            var selectedID = $("#SomeElement").val();
            return {ID: selectedID }
        }
        return kendo.stringify(options.models) ;
    }
    

    最后我自己得到了答案,答案是:

    $('#grid').data('kendoGrid').dataSource.read({name:value})
    

    很抱歉聚会迟到了,但我有一些特别的蛋糕,你可能会觉得很好吃:

    function readData()
    {
        return {
            anagId: selectedItem.ID
        };
    }
    
        $("#grid").kendoGrid({
            dataSource: {
                type: "ajax",
                transport: {
                    read: {"url":"@Url.Action("RecordRead", "Tools")","data":readData} 
            }
           [ rest of the grid configuration]
    
    我是通过检查KendoASP.NETMVC帮助程序生成的代码发现这段代码的

    我不知道这是否是一个在文章时代还不存在的进一步实现,但与我看到的其他答案相比,这种方式看起来确实是最灵活的。HTH

    试试这个:

    .Read(read => read.Action("Controller", "Action")
        .Data(@<text>
            function() {                                            
                return {
                    searchModel: DataFunctionName(),
                    userName: '#=UserName#'
                }
            }
        </text>)
    )
    

    但我想问的是如何从java脚本中实现,如果我有这个var网格,如何使用javascript传递它。为了让我完全理解,请发布代码并描述您试图实现的目标……工作非常完美,但Read()不是一个函数。它应该改为read()。