2013-10-04 4 views
2

Используя KendoUI для отображения всплывающего окна, я заметил, что если я повторно использую существующее окно, позвонив по номеру refresh, он на короткое время отобразит старое содержимое до завершения запроса AJAX.Окно KendoUI разбивает старый контент

Мой код:

function clickHandler(evt) { 
    evt.preventDefault(); 

    var dta=this.dataItem($(evt.currentTarget).closest("tr")); 

    convertWindow.refresh({ type: "GET", url: "CallMeConvert?AppointmentId="+dta.AppointmentId}); 
    convertWindow.center(); 
    convertWindow.open(); 
    } 

Есть ли способ избежать этого, или я должен уничтожить и воссоздать в окно каждый раз?

ответ

5

Это было, в конце концов, довольно просто. Вам просто нужно очистить HTML сразу перед выполнением сброса, например:

$("#convert-window").html(""); 
convertWindow.refresh({ type:"GET", url:url }).center().open(); 
0

Попробуйте открыть окно, если вы не запустите обновление, но когда оно закончится. Что вам нужно сделать, это использовать refresh событие:

function clickHandler(evt) { 
    evt.preventDefault(); 

    var dta=this.dataItem($(evt.currentTarget).closest("tr")); 

    converWindow.bind("refresh", function() { 
     convertWindow.center().open(); 
    }); 

    convertWindow.refresh({ type: "GET", url: "CallMeConvert?AppointmentId="+dta.AppointmentId}); 
} 

ПРИМЕЧАНИЕ Вы на самом деле не нужно bindrefresh события каждый раз, вы можете определить его во время инициализации окна.

var convertWindow = $("#my_window").kendoWindow({ 
    ... 
    refresh : function() { 
     convertWindow.center().open(); 
    } 
}); 
+0

Я бы хотел проголосовать за этот ответ, но у меня недостаточно репутации! Как глупо это ?! –

+0

Но если работает, вы можете принять его как ответ, не так ли? – OnaBai

+0

Я мог бы, но я нашел намного более простой способ, который позволяет избежать проблемы с этим решением, а именно, что он задерживает визуальный отклик на кнопку до тех пор, пока запрос AJAX не будет завершен. Я сам ответил, что сделал, и буду принимать это завтра. Но это полезный ответ, который я бы хотел поддержать. –

Смежные вопросы