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

C# 如何在同一页上呈现两个菜单?,c#,asp.net,aspmenu,web.sitemap,C#,Asp.net,Aspmenu,Web.sitemap,我正在一个网站上工作,该网站将有一个主要和次要的导航,我想使用ASP.NET的菜单控件生成。两者都将基于web.sitemap—根目录中的主节点,次节点是节点的一部分,具体取决于您所在的页面 添加菜单的第一步非常有效: <form runat="server"> <asp:SiteMapDataSource id="nav1" runat="server" StartingNodeUrl="~/en/default.aspx" ShowStartingNode=

我正在一个网站上工作,该网站将有一个主要和次要的导航,我想使用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服务器上工作得非常好。我很乐意解决这个问题,因为我知道这将是开发过程中的一个问题。

事实证明,这只发生在我用于开发的Mono环境中,而且菜单在实际的.net服务器上工作得非常好。我很乐意解决这个问题,因为我知道这将是开发过程中的一个问题。

您可以发布您的web.sitemap吗。您发布的代码似乎运行良好…请向我们显示您的网站地图文件,以便我们可以帮助您。。!我想我应该提到我正在使用Mono开发Mac,因为这似乎是问题的根源。我将文件移动到了一个实际的.net服务器上,菜单正在正常工作fine@steve,很好,你找到了问题的根源!为了更好地概述,请将您的解决方案添加为答案,并将其标记为已接受。所以我们第一眼看到,这个问题已经解决了。谢谢!:-)