Come faccio a creare un menu basato su sitemap in asp.net con elementi di massimo livello?

StackOverflow https://stackoverflow.com/questions/1030236

  •  06-07-2019
  •  | 
  •  

Domanda

Sto cercando di creare un menu basato su una sitemap asp.net. Come annidare i nodi Sitemap in modo che appaiano tutti sullo stesso livello. Ecco quello che ho:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>

    <siteMapNode url="~/Default.aspx" title="Home"  description="link to Home" />
    <siteMapNode url="~/about.aspx" title="About"  description="abot" />

 </siteMapNode>

</siteMap>

Ecco come appare il codice per il controllo Menu:

<asp:Menu ID="Menu1" runat="server" BackColor="#E3EAEB" 
        DataSourceID="SiteMapDataSource1" 
    </asp:Menu>

Entrambi appaiono come elementi di secondo livello sotto una freccia. Ci scusiamo per la domanda per principianti ma non ho mai usato il controllo menu prima.

È stato utile?

Soluzione

Devi solo impostare StaticDisplayLevels e avere solo un livello nel file Sitemap.

<asp:Menu runat="server" DataSourceID="SiteMapDataSource" StaticDisplayLevels="2" >
</asp:Menu>

Un esempio della mappa web:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode>
        <siteMapNode url="Default.aspx" title="Home"  description="" />
        <siteMapNode url="Page2.aspx" title="Page2"  description="" />
    </siteMapNode>
</siteMap>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top