2012-06-26 2 views
2

J'utilise SiteMapPath pour mon fil d'Ariane. Actuellement, il affiche le chemin que j'ai pris pour ma page actuelle, mais j'ai un message qui affiche "Vous êtes ici: Niveau 1> Niveau 2> Niveau 3". Le SiteMapPath est placé dans ma MasterPage. J'ai des pages qui n'apparaîtront pas sur le fichier .sitemap et donc le fil d'Ariane disparaîtra mais le message "Vous êtes ici:" ne le sera pas. Existe-t-il un moyen pour moi de vérifier si une URL existe dans le fichier .sitemap? Si l'URL n'existe pas, je souhaite masquer le message "Vous êtes ici"? Merci.Comment vérifier si l'URL existe dans SiteMapPath?

EDIT J'ai réussi à faire fonctionner mon code. Voici le code:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (SiteMap.Providers["MYSITEMAPPROVIDER"].CurrentNode == null) 
    { 
     lblMessage.Visible = false; 
    } 
} 

Répondre

2

Il est facile, avez-vous essayé d'utiliser ceci:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (SiteMap.CurrentNode == null) 
     { 
      this.lblMessage.Visible = false; 
     } 
    } 

SiteMap contient une propriété statique CurrentNode

je l'ai déjà testé et vous pouvez utiliser cette approche dans un maître page, contrôle de l'utilisateur ou une page

+0

Cela ne fonctionne pas pour moi. Votre sitemap utilise-t-il les URL d'un fichier .sitemap? – Anna

+0

J'ai imprimé l'URL du nœud actuel et il sort une page du StarterSite du site eCommerce. Une idée sur comment je peux changer le SiteMap pour pointer vers mon fichier .sitemap personnalisé? – Anna

+0

Votre code avec cet exemple de code de ce fil: http://forums.asp.net/t/1285234.aspx/1 m'a permis de comprendre comment faire fonctionner mon code. Merci! = D – Anna