Question

Salut Pouvez-vous conseiller plaît ne importe quelle solution? J'ai un contrôle SiteMapPath et au lieu de la fonctionnalité par défaut comme

Home > Accounts > User Account

où "compte utilisateur" fait référence à ~ / UserAccount.aspx

Je voudrais remplacer le dernier nœud pour afficher des informations sur un utilisateur en cours, i.e. .:

Home > Accounts > John White

et "John White" fait référence à ~ / UserAccount.aspx? Id = 111?

Était-ce utile?

La solution

Oui, vous devez hériter de la XmlSiteMapProvider et remplacer la méthode de BuildSiteMap. Ici vous pouvez manipuler tous les nœuds que vous voulez à l'exécution, qui sera ensuite affiché dans le contrôle de votre SiteMapPath.

public class MySiteMapProvider : XmlSiteMapProvider
{
   ...

   public override SiteMapNode BuildSiteMap()
   {
     var node = base.BuildSiteMap();
     var userAccountsNode = this.FindUserAccountsNode(node);

     userAccountsNode.ReadOnly = false;
     userAccountsNode.Title = ...;
     userAccountsNode.Url = ...;
     userAccountsNode.ReadOnly = true;

     return node;
   }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top