我有一个定义如下的剑道窗口:
With Html.Kendo().Window().Name("tranferwindow")
.Title("Select Transfer Destination")
.Content("")
.Resizable()
.Modal(True)
.Events(Function(events) events.Open("WindowToCenter"))
.Events(Function(events) events.Refresh("transferopen"))
.Draggable()
.Width(400)
.Visible(False)
.Render()
End With
每次使用刷新和传递新 URL 都会打开窗口。这是为了允许根据用户在网格上单击的内容来显示动态数据。
function transferitem(e) {
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
wwindow.data("kendoWindow").open(); //Display waiting window while refresh happens
var twindow = $("#tranferwindow")
twindow.data("kendoWindow").refresh('/Home/TransferList?agentid=' + agentid + '&tenantid=' + tenantid + '&SessionID=' + dataItem.MediaID);
}
Window 在刷新事件结束时打开,以确保用户看不到之前的内容。
function transferopen() {
wwindow.data("kendoWindow").close(); //Close the 'wait' window
var twindow = $("#tranferwindow")
twindow.data("kendoWindow").center().open();
}
这一切都很好,窗口可以根据我的喜好关闭和重新打开。
但是,我需要从局部视图中访问窗口的调整大小事件以调整窗口内的网格的大小。为了实现这一点,我将以下内容添加到从 url 返回的局部视图中。
$("#tranferwindow").kendoWindow({
resize: function (e) {
// resizeGrid();
}
});
添加此事件映射会导致我无法多次打开窗口的问题。我想我需要在关闭之前以某种方式“取消注册”活动?