2010-11-21 60 views
1

我有一个ASPxMenu通过标准asp:SiteMapDataSource控制绑定到我的Web.sitemap中文件。菜单应该是水平的,作为我的主菜单。菜单项目如下:根节点问题结合的DevExpress菜单到网站地图

<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标志,但这不是一个选项。

如果我用这样的香草ASP.NET菜单控制...

<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菜单上没有这样的设置。也许它只是在所有数以百万计中丧失了?

回答

0

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

+0

感谢 - 那SiteMapDataSource是一个真正陌生的我。 – ProfK 2010-11-23 07:21:34