如何在同一页面上呈现两个菜单?

时间:2014-01-28 21:58:31

标签: c# asp.net aspmenu web.sitemap

我正在开发一个具有主要和辅助导航的网站,我想使用ASP.NET的Menu控件生成这些导航。两者都将基于web.sitemap - 来自root的主要,而secondary将是节点的一部分,具体取决于您所在的页面。

添加菜单的第一步完美无缺:

<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服务器上完美运行。我很乐意解决它,因为它知道在开发过程中它会成为一个问题。

1 个答案:

答案 0 :(得分:0)

原来它只发生在我用于开发的Mono环境中,菜单在实际的.net服务器上运行得很好。我很乐意解决它,因为它知道在开发过程中它会成为一个问题。