2010-11-21 13 views
1

J'ai un ASPxMenu lié à mon Web.sitemap fichier par un contrôle standard asp:SiteMapDataSource. Le menu est censé être horizontal, comme mon menu principal. Menu et éléments sont les suivants:Menu problème du nœud racine contraignant DevExpress à un 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> 

Mon problème est que lorsque le menu rend, je ne reçois que l'élément racine, et tous les articles que je veux sont dans un menu déroulant en dessous. Je ne veux pas l'élément racine, et je veux tous les autres éléments dans un menu horizontal. Dans mon propre code pour mes propres menus, j'ai un drapeau RenderRootNode, mais ce n'est pas une option ici.

Si j'utilise un paramètre d'attribut de contrôle de menu ASP.NET vanille comme ça ...

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

... le StaticDisplayLevels="2" corrige ce problème, mais je ne trouve pas ce paramètre dans le menu DevExpress . Peut-être que c'est juste perdu parmi tous les millions?

Répondre

0

Définissez la propriété siteMapDataSource.ShowStartingNode sur false pour résoudre ce problème.

+0

Merci - que SiteMapDataSource est un vrai inconnu pour moi. – ProfK