私は、ASP.NET のメニュー コントロールを使用して生成したいプライマリおよびセカンダリ ナビゲーションを持つサイトに取り組んでいます。どちらも web.sitemap に基づいています - ルートからのプライマリ、およびセカンダリは、現在のページに応じてノードのセクションになります。
メニューを追加する最初の行は完全に機能しました。
<form runat="server">
<asp:SiteMapDataSource id="nav1" runat="server" StartingNodeUrl="~/en/default.aspx" ShowStartingNode="False" />
<asp:Menu runat="server" DataSourceId="nav1" disappearafter="1000" MaximumDynamicDisplayLevels="1" />
</form>
ただし、2 番目のメニュー コントロールを追加した後、最初のメニューは引き続き期待どおりに機能しますが、2 番目のメニューの最初のドロップダウンは消えず、他のドロップダウンはまったく開きません。
<form runat="server">
<asp:SiteMapDataSource id="nav1" runat="server" StartingNodeUrl="~/default.aspx" ShowStartingNode="False" />
<asp:Menu runat="server" DataSourceId="nav1" MaximumDynamicDisplayLevels="1" />
<asp:SiteMapDataSource id="nav2" runat="server" StartingNodeUrl="~/section/default.aspx"/>
<asp:Menu runat="server" DataSourceId="nav2" MaximumDynamicDisplayLevels="1" />
</form>
更新: 開発に使用している Mono 環境でのみ発生しており、メニューは実際の .net サーバーで完全に機能しています。開発中に問題になることを知って、喜んで回避します。