Kendo grid如何从java脚本传递附加参数

kos*_*kov 5 kendo-ui kendo-grid kendo-asp.net-mvc

在telerik扩展中将附加数据传递给我使用的ajax请求

function onDataBinding(e)
{
    e.data = {argument : 4};
}
Run Code Online (Sandbox Code Playgroud)

其中e是内置数据对象的div cointainer,如何使用kendo执行此操作?我尝试过同样的但是对于剑道而言,这是完全不同的.

kos*_*kov 10

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

$('#grid').data('kendoGrid').dataSource.Read({name:value})
Run Code Online (Sandbox Code Playgroud)


Sha*_*haz 5

尝试这个:

  1. 将其添加到网格读取函数或任何 CRUD 操作中:

    .Read(read => read.Action("ReadCompanyService", "Admin").Data("CompanyServiceFilter"))
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加 JavaScript:

    function CompanyServiceFilter()
    {
        return {
            company: $("#ServiceCompany").val()
        }
    } 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在你的控制器中:

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

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


Piz*_*boy 5

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

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]
Run Code Online (Sandbox Code Playgroud)

我通过检查 Kendo Asp.Net MVC 助手生成的代码发现了这段代码。

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