я окно Кендо, которая определяется следующим образом:Невозможно открыть Telerik Кендо окна дважды
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.This это позволить динамическим данные, отображаемые в зависимости от того, что пользователь нажал на сетку.
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);
}
Окно открывается в конце события обновления, чтобы убедиться, что пользователь не видит предыдущий контент.
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();
}
});
Добавление этого сопоставления событий вызывает проблему, когда я не могу открыть окно более одного раза. Я предполагаю, что мне нужно «отменить регистрацию» для события как-то перед закрытием?