2011-05-22 31 views
0

我使用RadWindow在更新面板,如:RadWindow問題

<asp:UpdatePanel ID="mainUpdatePanel" runat="server"> 
    <ContentTemplate> 
     <telerik:RadWindow ID="wndInformation" runat="server" Skin="Default" 
       NavigateUrl="../MaterialInformation.aspx" 
       Behaviors="Close, Move, Resize, Maximize" Height="500" Width="600"> 
     </telerik:RadWindow> 

,並使用javascipt的稱之爲:

function OpenSuperSeeding() { 
      var wnd = $find("<%= wndInformation.ClientID%>"); 
      wnd.show(); 
     } 

和標籤分配了類似:

<asp:LinkButton runat="server" ID="LnkbtnStatistics" 
    OnClientClick="OpenSuperSeeding()"> 

問題它會立即彈出並關閉嗎?爲什麼?

回答

1

可能是因爲UpdatePanel。您是否嘗試將RadWindow代碼移出UpdatePanel代碼並查看它是否仍然立即關閉?如果你有Telerik套件,你可以考慮使用他們的Ajax控件。它們非常強大,Telerik通常會在控件相互配合使用時測試其控件的兼容性。該RadAjaxManager是非常良好的控制,並允許阿賈克斯更新的細粒度控制 - 遠比的UpdatePanel更好。

3

的ASP:LinkBut​​ton的是回發的元素 - 這就是爲什麼RadWindow立即關閉的原因。 基本上,會發生什麼情況是:

  1. 您點擊鏈接按鈕

  2. 中的OnClientClick事件處理函數的函數被觸發,顯示

  3. 回傳出現窗口,並重新加載頁面 - 在這一點上,RadWindow對象被銷燬(就像回發中其他任何動態創建的對象一樣)。

爲了避免這種情況,您需要取消回發:

<asp:LinkButton runat="server" ID="LnkbtnStatistics" Text="Link Button" OnClientClick="OpenSuperSeeding(); return false;"></asp:LinkButton>