Telerik-RadWindow, RadAjaxManager и IE9 разбивают применение

Я использую контроль Telerik, Там страница Списка и Детали на две страницы. Страница детали открывает Radwindow. После закрытия radwindow, ajaxrequest освежает сетку страницы списка (родительская страница).


            
                
            
        
    
    
         
        
            
                
                    
                     
                
            
        
    

 function RefreshGrid(SubServiceType) {

                if (SubServiceType == "TR") {
                             $find("<%=RadAjaxManager1.ClientID%>").ajaxRequestWithTarget( '<%= btnRefreshTRGrid.UniqueID %>', '');
                }
                else if (SubServiceType = "TL") {
                             $find("<%=RadAjaxManager1.ClientID%>").ajaxRequestWithTarget( '<%= btnRefreshTLGrid.UniqueID %>', '');
                }
            }

**

Now problem is
In IE9,after opening/closing radwinow five-six times,
1)does not load radwindow again, like application hangout
2)Other button stops working
3)On refersh page, application hangout and need to close browser instance.

**

любая помощь ценилась бы.

1
nl ja de

2 ответы

Я решил проблему катастрофы браузера IE9.

Problem is I am attaching close event of radwindow to pageLoad() function,so every postback, close function attached (ex 4 times) and called 4 times and in script grid are refreshing, so 4 times grid are refreshing and crashes application.

incorrect
    function pageLoad() {
            GetRadWindow().add_close(CallFnOnParent);
                }

Solution is Use Sys.Application.add_init function so, it is attach close event only first time and remove close event before close event.

correct
      Sys.Application.add_init(function() {
                   //Initialization code here, meant to run once.
                     GetRadWindow().add_close(CallFnOnParent);
                });
1
добавлено

Я консультировал бы по вопросам еще лучшего подхода - добавляет укладчик на главной странице, как это - то, где функция должна проживать. Вы могли тогда просто установить его в повышении или открывая всплывающее окно. Тогда удаление близкого укладчика сам по себе является большим подходом. Что-то как:

function openRw(){
var wnd = radopen();
wnd.add_close(myCloseHandler);
}

function myCloseHandler(sender, args){
sender.remove_close(myCloseHandler);
//other code
}
0
добавлено