1

ボタンをクリックしたときにテキストボックスのテキストを更新するはずの 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>
4

1 に答える 1

1

「あなたの問題は、TextBox が CallBack パネル内にないという事実にあります。コールバックが機能する方法は、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 が適切に更新されます。

于 2013-06-07T14:01:02.953 に答える