【发布时间】:2014-01-24 12:24:07
【问题描述】:
在标签容器中,我希望显示包含不同用户控件的各种标签。 我需要通过代码将用户控件分配给选项卡,而不是像通常在标签中那样分配用户控件,例如:
<ajaxToolkit:TabPanel runat="server" HeaderText="NOMBRE" ID="TabPanel1" Enabled ="true" >
<ContentTemplate>
</ContentTemplate>
</ajaxToolkit:TabPanel>
对于我需要的,这不起作用。
所以这是我将标签分配给用户控件的代码,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Control ctrlNombre = LoadControl("~/UserCtrl/Nombre.ascx"); //user control
TabPanel1.Controls.Add(ctrlNombre); //add user control to tabpanel
}
}
而“onactivetabchanged”事件我根据哪个选项卡处于活动状态创建了一个菜单,它将加载控件,代码如下:
protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
{
switch(TabContainer1.ActiveTabIndex)
{
case 0:
Control ctrl1 = LoadControl("~/UserCtrl/userControl1.ascx");
TabPanel1.Controls.Add(ctrlNombre);
break;
case 1:
Control ctrl2 = LoadControl("~/UserCtrl/ userControl2.ascx");
TabPanel1.Controls.Add(ctrlApPaterno);
}
}
但是,这确实有效,当我从某个用户控件单击某个按钮时会出现问题,这会像往常一样将完整的帖子发回服务器,但是这个帖子会导致之前加载的用户控件消失。我能做些什么来解决这个问题?我真的希望有人能帮助我解决这个问题,我将非常感激。
这是我单击按钮时发生的情况的图像:
非常感谢你们,希望有人能帮我解决这个问题。
【问题讨论】:
标签: c# asp.net tabcontrol tabpanel tabcontainer