我正在开发一个站点,该站点将具有我想使用 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>
但是,在添加第二个菜单控件后,虽然第一个菜单仍然按预期工作,但第二个菜单的第一个下拉菜单永远不会消失,并且任何其他下拉菜单根本不会打开:
<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 服务器上运行良好。我很乐意解决它,因为我知道这只是开发过程中的一个问题。