【问题标题】:Telerik-RadWindow,RadAjaxManager and IE9 crash applicationTelerik-RadWindow、RadAjaxManager 和 IE9 崩溃应用程序
【发布时间】:2023-04-09 00:09:02
【问题描述】:

我使用的是 Telerik 控件,有两个页面 List 和 Detail 页面。 详细信息页面打开 Radwindow。关闭 radwindow 后,ajaxrequest 正在刷新列表页面(父页面)的网格。

<telerik:RadWindowManager ID="RadWindowManager1" Height="665px" Width="1200px" runat="server"
            Modal="true" Behaviors="Close,Move" VisibleStatusbar="false" Title="Add Service" DestroyOnClose="true">
            <Windows>
                <telerik:RadWindow ID="rdwAddService" runat="server" Title="Editing record" ReloadOnShow="true"
                    ShowContentDuringLoad="false" Modal="false" DestroyOnClose="true" />
            </Windows>
        </telerik:RadWindowManager>
    </telerik:RadAjaxPanel>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest" RequestQueueSize="0">
         <ClientEvents OnResponseEnd="responseEnd" />
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdTL" />
                     <telerik:AjaxUpdatedControl ControlID="grdTR" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

 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.

**

任何帮助将不胜感激。

【问题讨论】:

    标签: crash telerik internet-explorer-9 radwindow radajaxmanager


    【解决方案1】:

    我解决了IE9浏览器崩溃的问题。

    问题是 我将 radwindow 的关闭事件附加到 pageLoad() 函数,所以每个回发、关闭函数附加(例如 4 次)并在脚本网格中调用 4 次都在刷新,所以 4 次网格正在刷新并崩溃应用程序。

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

    解决办法是 使用 Sys.Application.add_init 函数,它只是第一次附加关闭事件,并在关闭事件之前删除关闭事件。

    correct
          Sys.Application.add_init(function () {
                        // Initialization code here, meant to run once.
                         GetRadWindow().add_close(CallFnOnParent);
                    });
    

    【讨论】:

      【解决方案2】:

      我会建议一个更好的方法 - 在主页中添加处理程序,因为这是函数应该驻留的地方。然后,您可以简单地在标记中或打开弹出窗口时设置它。然后删除关闭处理程序本身是一个很好的方法。比如:

      function openRw(){
      var wnd = radopen();
      wnd.add_close(myCloseHandler);
      }
      
      function myCloseHandler(sender, args){
      sender.remove_close(myCloseHandler);
      //other code
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        • 1970-01-01
        • 2011-07-20
        • 2016-07-01
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        相关资源
        最近更新 更多