Come faccio a creare un menu basato su sitemap in asp.net con elementi di massimo livello?
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.
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