2つのユーザーコントロール(.ascx)があり、その中にASP.NET AJAX TabContainerコントロールがあり、それぞれに2つまたは3つのタブ(TabPanels)があります。私はこれらのコントロールを約10のWebサイトで使用しています。最新の3つのWebサイトを除いて、すべて正常に機能しています。これらの3つでは、TabPanelコントロールは重複したid属性でレンダリングされるため、ブラウザーでのタブのdivは次のようになります。
<div id="ctl00_ContentPlaceHolder1_mycontrol1_mycontrolTabs_ctl00"
id="ctl00_ContentPlaceHolder1_mycontrol1_mycontrolTabs_ctl00"
class="ajax__tab_panel">
TabContainerの他のマークアップには重複するIDはなく、TabPanelのみがあります。以前のWebサイトは、これとまったく同じユーザーコントロールを単一のIDでレンダリングします(サイトは仮想ディレクトリを介してコントロールと同じフォルダーを共有するため、まったく同じです)。TabPanelでIDを省略しようとしましたが、それでも重複したIDがレンダリングされます。
これはIE7とIE8でエラーを発生させるだけのようですが、残念ながら、問題のあるサイトの1つでこれらのサポートが必要です。
「良い」ウェブサイトと「悪い」ウェブサイトを徹底的に比較しましたが、タブコントロールでこの動作をトリガーするものは見つかりませんでした。Webサイトの内容は少し異なりますが、実際には非常によく似ています。これを引き起こしている可能性のあるアイデアは大歓迎です!