Kendo文件上传控件在弹出的编辑中获取网格行ID

时间:2015-11-03 13:42:31

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

我有一个Kendo Grid,编辑是通过弹出窗口完成的。

在弹出窗口中,我有一个Kendo File Upload控件。我想发送网格行ID(或行的唯一标识符)以在我的ASP.NET MVC控制器中上传文件操作。这是我编辑弹出窗口中的代码:

<div class="editor-field">
    @(Html
        .Kendo()
        .Upload()
        .Name("PdfModifiedDate")
        .Multiple(false)
        .Async(a => a
                .Save("UploadFile","Home")
        )
        .Events(events => events
            .Upload("OnImageUpload")
        )
    )
</div>

正如你所看到的,我必须使用事件&#34; OnImageUpload&#34;传递我的身份证。正如您在下面的代码中看到的,我试图访问我需要的属性,但我得到了#34; undefined&#34;。

function OnImageUpload(e) {
    console.log(e.container);

    var uid = $(e);
    //var publication = $('#grid').data("kendoGrid").dataSource.getByUid(uid);
    //var id = publication.DocumentUpdateId;

    console.log(uid);
    //console.log(publication);
    //console.log(id);
    //e.data = { docUpdateId: id };
}

我可以通过&#34; Inspect element&#34;我需要的ID是隐藏的,但我无法访问它。

有没有办法可以在文件上传事件中访问网格行ID?

1 个答案:

答案 0 :(得分:0)

使用Chrome Dev工具查看编辑对话框后,我能够获得对编辑对话框的引用。这不是理想的做事方式,但它对我有用。

function OnImageUpload(e) {

   var id = $("#grid").getKendoGrid()._editContainer.find("#DocumentUpdateId").val();

   e.data = { docUpdateId: id };

   console.log(e);
}