2012-09-27 44 views
0

是否可以在同一頁面上並排使用兩個獨立的RadAjaxPanel控件?在同一頁面上使用兩個Telerik RadAjaxPanel控件

我在同一頁面中使用了兩個獨立的RadAjaxPanel。一個面板包含一個文本框和一個按鈕。另一個包含一個RadGrid控件。當我點擊面板#1中的按鈕時,第二個面板消失。我在button-click事件中放置了visible = True。

ASPX頁面

<div> 
     <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> 
     </telerik:RadScriptManager> 

     <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"> 
     </telerik:RadAjaxLoadingPanel> 
     <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1" Height="200px" Width="300px"> 
     <table><tr><td><asp:Label ID="Label1" runat="server" Text="Name"></asp:Label> </td> 
     <td><%--<telerik:RadTextBox ID="RadTextBox1" runat="server"> 
      </telerik:RadTextBox>--%><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

      </td></tr> 
      <tr> 
        <td> 
        </td> 
        <td> 
         <telerik:RadButton ID="RdbtnAdd" runat="server" Text="Submit" CausesValidation="true" 
          ValidationGroup="AddButtonValidate" OnClick="RdbtnAdd_Click" 
          Width="75px"> 
         </telerik:RadButton> 
        </td> 
       </tr> 
     </table> 
     </telerik:RadAjaxPanel> 
     <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server" Skin="Default"> 
     </telerik:RadAjaxLoadingPanel> 

     <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" LoadingPanelID="RadAjaxLoadingPanel2" Height="200px" Width="300px"> 
     <table><tr><td><asp:Label ID="Label2" runat="server" Text="Name"></asp:Label> </td> 
     <td><%--<telerik:RadTextBox ID="RadTextBox2" runat="server"> 
      </telerik:RadTextBox>--%><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
     </table> 
     </telerik:RadAjaxPanel> 
    </div> 

代碼背後:

protected void RdbtnAdd_Click(object sender, EventArgs e) 
     { 
      Session["name"] = TextBox1.Text; 
      //RadAjaxPanel2.Visible = true; 
      TextBox2.Text = Session["name"].ToString(); 
     } 
+0

Plz給我的答案,而不是更新我的問題.. – AnnRose

+0

問題,這些支付控件? –

回答

0

是的,你可以有很多RadAjaxpanel控制,只要你喜歡。但是請注意,RadAjaxPanel的功能與UpdatePanel不同。一次只回發一個RadAjaxPanel;但是,您可以調用客戶端API ajaxRequest(「arg」);方法刷新其他。我從來沒有遇到過一個面板消失的問題......我們可能需要查看一些代碼才能進行調試。

您還可以使用RadAjaxManager(或代理)來定義一個控件導致回發時應更新的AJAX控件。這樣,當點擊按鈕發生時,您可以將更新鏈接到所有更新。

+0

@Brain ...抱歉說我無法清楚地理解,因爲Iam new在這裏。我編輯了這個問題。你可以看看並請更正代碼我的問題是值不會出現在第二個文本框中在按鈕點擊 – AnnRose

2

你可以嘗試添加一個ajax管理器到你的頁面。這會在您點擊按鈕時強制ajax回發。

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" > 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="RdbtnAdd"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
       <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel2" LoadingPanelID="RadAjaxLoadingPanel2" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

或者您可以嘗試只在第二個面板上強制ajax回發,當你點擊你的按鈕。所以在你的按鈕點擊事件添加...

ScriptManager.RegisterStartupScript(Page, this.GetType, "updatePanel", "$find('" + RadAjaxPanel2.ClientID + "').ajaxRequestWithTarget('" + RadAjaxPanel2.UniqueID + "', '');", true) 

這兩個解決方案應該工作。第二個只需要按鈕點擊事件中的一行,所以我會先嚐試一下。

+0

非常感謝Chris..Now我得到了Output.I,使用了RadAjaxManager.Can,請告訴我RadAjaxManager的用途是什麼。我想了解更多有關RadControl的信息,例如RadScriptmanager,radLoadingPanel.RadWindowManager等。如果可以,請給我發送任何鏈接。 – AnnRose

+0

轉到[RadControls ASP AJAX演示](http://www.telerik.com/products/aspnet-ajax/ajax.aspx)。他們有很多很好的例子來說明如何使用每種類型的控制。 此外,如果這個答案幫助你解決了你的問題,你可以請選擇它作爲答案。 – Cruril

相關問題