javascript - 使用服务器绑定(bind)时,如何从 Kendo 网格选定行获取数据?

标签 javascript c# asp.net-mvc kendo-grid

我有一个 Kendo 网格,每行都有一个按钮,我想在单击该按钮时触发 URL 操作来下载 PDF 文件。为了做到这一点,我需要将数据 ID 传递给 URL 操作,但我在获取对其的引用时遇到了很多麻烦。这是我的表定义:

@(Html.Kendo().Grid(Model.revisions)
                    .Name("RevisionsGrid")
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.RevisionInfo.RevisionDate).Title("Date Modified");
                        columns.Bound(p => p.RevisionInfo.User.Name).Title("By User");
                        columns.Command(command => command.Custom("ViewPdf").Text("View PDF").Click("getPdf"));
                    })
                    .Sortable()
                    .Selectable()
                    .Events(e => e.Change("selection_change"))
                    .Pageable(p => p.PageSizes(new[] { 5, 10, 25 }))
                    .DataSource(dataSource => dataSource
                    .Server()
                    .Model(model => model.Id(p => p.RevisionInfo.Id)))

我需要对模型的 RevisionInfo.Id 的引用。我不想将其更改为 Ajax 绑定(bind)。

我尝试了解决方案 herethis.dataItem 始终返回 null。我还尝试使用对 Kendo 网格的引用而不是 this ,结果相同。

function getPdf(e) {
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    var revisionId= dataItem.RevisionId;

    window.location.href = "@Url.Action("GetPdf","Reports")?revisionId=" + revisionId; 
    }

这看起来应该很简单,但我不知所措。有什么想法吗?

最佳答案

查询数据项时您错过了剑道网格元素:

function getPdf(e) {
   e.preventDefault();
   var dataItem = $("#RevisionsGrid").data("kendoGrid").dataItem($(e.currentTarget).closest("tr"));
   var revisionId= dataItem.RevisionId;

   window.location.href = "@Url.Action("GetPdf","Reports")?revisionId=" + revisionId; 
}

祝你好运!

关于javascript - 使用服务器绑定(bind)时,如何从 Kendo 网格选定行获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553987/

相关文章:

c# - 将图像发送到 WebApi 服务

c# - Asp.net MVC 4.5 使用 EditorFor、按钮单击将对象添加到 ViewModel 中的列表

c# - 使用 LINQ 解析 XML 并填充现有对象的属性而不是创建新的属性

c# - asp.net:将多个 div 添加到同一页面

c# - Visual Studio - Resx 文件默认 'internal' 到 'public'

asp.net-mvc - 如何在 MVC .NET 中检测关机并在关机执行前运行代码

javascript - 为什么 OAF 不支持 javascript?

javascript - Crossfilter 和 dc.js 平均值

javascript - 自定义自由文本工具

javascript - 为了性能更好,两个函数在同一个 setInterval() 中还是两个不同的 setInterval 中? - JavaScript