我的网站上有一个ajaxToolKit:TabContainer
。我有三个选项卡,每个选项卡都Product
以某种形式填充(描述、附加信息、评论)。我还有其他三个动态创建的选项卡,如果产品符合某些条件,它们会加载到选项卡容器中。但是,当我加载这三个动态选项卡时,我遇到了问题。
当我加载选项卡时,选项卡中的文本会Description
显示在所有其他选项卡中,直到我单击Description
选项卡,然后它会从所有其他选项卡中消失。
它发生在我真正关心的所有浏览器(Chrome、IE、FF)中。当html
您查看源代码时,标记的文本正确div
,tab panel
但由于某种原因显示不正确。
以下是我如何在后面的代码中加载控件并将它们添加到容器中:
TabPanel overviewTab = new TabPanel();
ProductOverviewInfo control = (ProductOverviewInfo)Page.LoadControl("~/Controls/ProductOverviewInfo.ascx");
control.overview_populate();
overviewTab.Controls.Add(control);
overviewTab.HeaderText = "OVERVIEW";
ProductTabs.Controls.AddAt(firstVisibleTab, overviewTab);
firstVisibleTab
只是一个 int 值,决定我要在哪里插入选项卡。
现在,我找到了解决这个问题的方法,但这不是我想要的,也不是我的项目发起人想要的。如果我只是使用ProductTabs.Control.Add(tab)
,那么我没有问题。但是,如果产品符合具有概览选项卡(上面的代码)的标准,我希望该选项卡处于活动状态。
现在,您可能会问,为什么不直接使用.Add(tab)
然后ActiveTabIndex
在插入新选项卡的位置使用。好吧,我试过了,但由于某种原因,当我进行检查(或直接将其添加到上面的代码中)时,整体TabContainer
根本不会显示。
因此,在我使用的大约一半产品中,我遇到了此文本显示在错误选项卡中的问题,另一半没有问题,因为没有概览选项卡(或其他 2 个动态加载的选项卡)存在。