1

Telerikコントロールを使用しています。2ページのリストと詳細ページがあります。詳細ページで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.

**

どんな助けでもいただければ幸いです。

4

2 に答える 2

1

IE9ブラウザのクラッシュの問題を解決しました。

問題は 、radwindowのcloseイベントをpageLoad()関数にアタッチしているため、すべてのポストバック、close関数がアタッチされ(例: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);
                });
于 2013-01-29T11:24:28.347 に答える
0

さらに良いアプローチをお勧めします。メインページにハンドラーを追加します。これは、関数が存在する場所であるためです。次に、マークアップまたはポップアップを開くときに設定するだけです。次に、クローズハンドラー自体を削除することは優れたアプローチです。何かのようなもの:

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

function myCloseHandler(sender, args){
sender.remove_close(myCloseHandler);
//other code
}
于 2013-02-01T12:02:26.200 に答える