根节点问题将DevExpress菜单绑定到SiteMap

时间:2010-11-21 07:47:13

标签: asp.net devexpress

我通过标准asp:SiteMapDataSource控件将 ASPxMenu 绑定到我的 Web.sitemap 文件。菜单应该是水平的,作为我的主要顶级菜单。菜单和项目如下:

<dx:ASPxMenu ID="topMainMenu" runat="server" Orientation="Horizontal" 
    DataSourceID="siteMapDataSource" RenderMode="Lightweight">
</dx:ASPxMenu>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode title="" >
    <siteMapNode url="~/Default.aspx" title="Home"  description="Home page."></siteMapNode>
    <siteMapNode url="~/Products/Main.aspx" title="Products &amp; Services"  description="Main product catalogue."></siteMapNode>
    <siteMapNode url="~/About.aspx" title="About Us"  description="Company profile." />
  </siteMapNode>
</siteMap>

我的问题是,当菜单呈现时,我只获得根项目,我想要的所有项目都在下面的下拉菜单中。我不想要根项目,我想要水平菜单中的所有其他项目。在我自己的菜单代码中,我有一个RenderRootNode标志,但这不是一个选项。

如果我使用像这样的vanilla ASP.NET Menu控件......

<asp:Menu ID="topMainMenu" runat="server" Orientation="Horizontal" 
    DataSourceID="siteMapDataSource" StaticDisplayLevels="2">
    <LevelMenuItemStyles>
        <asp:MenuItemStyle Font-Underline="False" Width="0px" />
    </LevelMenuItemStyles>
</asp:Menu>

... StaticDisplayLevels="2"属性设置可以解决此问题,但我无法在 DevExpress 菜单中找到此类设置。也许它只是在所有数百万人中丢失了?

1 个答案:

答案 0 :(得分:0)

将siteMapDataSource.ShowStartingNode属性设置为false以解决此问题。