我有两个用户控件 (.ascx),其中有一个 ASP.NET AJAX TabContainer 控件,每个控件都有两个或三个选项卡 (TabPanels)。我在大约 10 个网站中使用这些控件。除了最新的三个网站外,一切都运行良好。在这三个中,TabPanel 控件使用重复的 id 属性呈现,因此浏览器上的选项卡的 div 类似于以下内容:
<div id="ctl00_ContentPlaceHolder1_mycontrol1_mycontrolTabs_ctl00"
id="ctl00_ContentPlaceHolder1_mycontrol1_mycontrolTabs_ctl00"
class="ajax__tab_panel">
TabContainer 中的其他标记都没有重复的 id,只有 TabPanels。早期的网站使用单个 id 呈现完全相同的用户控件(完全相同,因为站点通过虚拟目录与控件共享相同的文件夹)。我试过省略 TabPanel 上的 ID,但它仍然呈现重复的 ID。
这似乎只会在 IE7 和 IE8 中引发错误,但不幸的是,其中一个违规站点需要对这些错误的支持。
我已经彻底比较了“好”和“坏”的网站,但没有发现任何应该在选项卡控件中触发这种行为的东西。这些网站的内容略有不同,但实际上非常相似。欢迎任何关于可能引发此问题的想法!