2013-06-05 122 views
1

我有一個AspxCallback控件,當我點擊按鈕時應該更新文本框文本。但是當我點擊按鈕時沒有任何反應。 下面是測試我的示例代碼:AspxCallback沒有更新信息

C#:

protected void callback_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e) 
{ 
    txtTest.Text = "Text for Textbox"; 
} 

ASP.NET:

<asp:Button ID="btnTest" runat="server" Text="CLICK"  OnClientClick="callback.PerformCallback(); return false;" /> 
    <br /> 
    <asp:TextBox ID="txtTest" runat="server" Width="200" Height="25"></asp:TextBox> 
    <dx:ASPxCallback ID="callback" runat="server" ClientInstanceName="callback" 
    oncallback="callback_Callback"> 
    </dx:ASPxCallback> 
+0

爲什麼不只是使用OnClick而不是OnClientClick? –

回答

1

「你的問題在於這樣的事實,文本框不在回調面板內 回調的工作方式就像一個ajax調用,只能更新啓用的Ajax所以說控制。出於這個原因,這些控件可以放在回調面板中。

<dxcp:ASPxCallbackPanel ID="ASPxCallbackPanel1" runat="server" Width="223px"  BackColor="#FFFFC0" ClientInstanceName="callbackPanel1" Height="78px" oncallback="callback_Callback"> 
     <PanelCollection> 
      <dxp:panelcontent runat="server"> 
       <asp:Button ID="btnTest" runat="server" Text="CLICK" 
       OnClientClick="callbackPanel1.PerformCallback(); return false;" /> 
       <br /> 
       <asp:TextBox ID="txtTest" runat="server" Width="200" Height="25"></asp:TextBox> 
      </dxp:panelcontent> 
     </PanelCollection> 
</dxcp:ASPxCallbackPanel> 

我認爲這會解決您的問題。現在你的代碼會正確地更新TextBox。