并没有更新 这样添加面板有问题 可以通过将面板的index存储在一个Hidden中
新添加的一个面板不能同时添加到两个面板中
<script runat="server">
protected void button1_Click(object obj, DirectEventArgs args)
{
//var index = this.tabPanel1.ActiveIndex+1; 这种方法获取的index的值是有问题的还
是当前的index并没有更新
var index = this.GetIndex();
var panel = new Ext.Net.Panel
{
Width=50,
Height=80,
Title="panel"+System.DateTime.Now.Second.ToString(),
Html="panel"+System.DateTime.Now.Second.ToString(),
BodyPadding=5,
ID="tab"+index
};
panel.AddTo(this.tabPanel1);
this.tabPanel1.SetActiveTab("tab" + index);
var panel2 = new Ext.Net.Panel
{
Width = 50,
Height = 80,
Title = "tabPanel" + System.DateTime.Now.Second.ToString(),
Html = "tabpanel" + System.DateTime.Now.Second.ToString(),
BodyPadding = 5,
ID = "Panel" + index
};
panel2.AddTo(this.Panel);
panel.Expand();
}
private int GetIndex()
{
var index = Convert.ToInt16(this.hidden.Text);
this.hidden.Text = (index + 1).ToString();
return index + 1;
}
aspx中的页面
<div>
<ext:ResourceManager runat="server"></ext:ResourceManager>
<ext:Hidden ID="hidden" runat="server" Text="100"></ext:Hidden>
<ext:Button runat="server" ID="button1" OnDirectClick="button1_Click" Text="AddPanel" Icon="Add"></ext:Button>
<h2>下面是添加一个新的面板</h2>
<ext:TabPanel runat="server" ID="tabPanel1" Width="400" Height="600">
<Items>
<ext:Panel runat="server" ID="tabpanel100" Title="panel1" Width="50" Height="80"></ext:Panel>
<ext:Panel runat="server" ID="tabpanel" Title="Panel2" Width="50" Height="80"></ext:Panel>
</Items>
</ext:TabPanel>
<ext:Panel runat="server" ID="Panel" Width="500" Height="600" Layout="AccordionLayout">
<Items>
<ext:Panel runat="server" ID="panel101" Title="AccordionPanel" Width="50" Height="80">
</ext:Panel>
</Items>
</ext:Panel>
</div>