SitemAppath: Ändern Sie den Titel und die Verbindung des letzten Glieds in der Kette

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

  •  14-10-2019
  •  | 
  •  

Frage

Hallo, können Sie bitte eine Lösung beraten? Ich habe eine SitemAppath -Kontrolle und anstelle von Standardfunktionen wie

Home > Accounts > User Account

wobei sich "Benutzerkonto" auf ~/userAccount.aspx bezieht

Ich möchte den letzten Knoten überschreiben, um Informationen über einen aktuellen Benutzer anzuzeigen, dh:

Home > Accounts > John White

und "John White" bezieht sich auf ~/userAccount.aspx? id = 111?

War es hilfreich?

Lösung

Ja, du musst von der erben XmlSiteMapProvider und überschreiben seine BuildSiteMap Methode. Hier können Sie alle gewünschten Knoten zur Laufzeit manipulieren, die dann in Ihrem angezeigt werden SiteMapPath Kontrolle.

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;
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top