我有一个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?
答案 0 :(得分:0)
使用Chrome Dev工具查看编辑对话框后,我能够获得对编辑对话框的引用。这不是理想的做事方式,但它对我有用。
function OnImageUpload(e) {
var id = $("#grid").getKendoGrid()._editContainer.find("#DocumentUpdateId").val();
e.data = { docUpdateId: id };
console.log(e);
}