Si vous connaissez le nombre exact de niveaux que vous pouvez utiliser un SiteMapPath comme:
<asp:SiteMapPath runat="server" ParentLevelsDisplayed="1" />
Sinon, le SiteMapPath va toujours Agains direcly le SiteMapProvider actuellement en cours d'utilisation et vous pouvez probablement accrocher dans le rendu de l'un SiteMapPath faire une vérification, comme:
protected void SiteMapPath_ItemCreated(object sender, SiteMapNodeItemEventArgs e)
{
if (e.Item.ItemType == SiteMapNodeItemType.Root ||
(e.Item.ItemType == SiteMapNodeItemType.PathSeparator &&
e.Item.ItemIndex == 1))
{
e.Item.Visible = false;
}
}
qui vous fera SITEMAPPATH ne pas montrer l'rootNode (et le premier séparateur).
et si vous désirez votre noeud pour afficher « Home », vous pouvez lier contre une autre valeur, quelque chose comme:
<asp:SiteMapPath ID="siteMapPath" runat="server"
Pathseparator="/"
OnItemCreated="SiteMapPath_ItemCreated">
<NodeTemplate>
<a href='<%# Eval("url") %>'><%# Eval("description") %></a>
</NodeTemplate>
<CurrentNodeTemplate>
<%# Eval("title") %>
</CurrentNodeTemplate>
</asp:SiteMapPath>
si la description a une valeur de « Home » qui sera affiché.
je ne connais pas le nombre exact de niveaux comment puis-je supprimer seulement l'élément racine seul? –