ASPxperience コントロールでテストしています。テキストボックスと PageControl の中に単純な CallbackPanel があります。テスト用に、コールバック パネルの下にボタンを配置しました。クリックすると、PageControl に追加のタブを追加したいと考えています。
マークアップ:
<dx:ASPxCallbackPanel ID="ASPxCallbackPanel1" runat="server" Width="200px" OnCallback="ASPxCallbackPanel1_Callback1">
<PanelCollection>
<dx:PanelContent runat="server">
<dx:ASPxPageControl ID="ASPxPageControl1" runat="server" ActiveTabIndex="0" ClientInstanceName="PageControl1"
Height="359px" Width="538px">
<TabPages>
<dx:TabPage>
<ContentCollection>
<dx:ContentControl runat="server">
</dx:ContentControl>
</ContentCollection>
</dx:TabPage>
</TabPages>
</dx:ASPxPageControl>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</dx:PanelContent>
</PanelCollection>
</dx:ASPxCallbackPanel>
<input id="Button1" type="button" value="button" onclick="ASPxCallbackPanel1.PerformCallback('addtab');" />
コードビハインド
protected void ASPxCallbackPanel1_Callback1(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
ASPxPageControl1.TabPages.Add("Test");
TextBox1.Text += "1";
}
奇妙なことに、ボタンをクリックするたびに、テキストボックスの内容に常に「1」が追加されます。したがって、5 回クリックすると、「11111」と表示されます。ただし、PageControl は、以前に追加されたタブを常に削除 (または忘れるか無視しますか?) するため、「test」という名前の余分なタブが常に 1 つだけ残ります。
これはどのように来るのですか?理解できない ?(私はこのコントロールスイートにかなり慣れていません)