Domanda

Ciao Potete raccomandare prego qualsiasi soluzione? Ho un controllo SiteMapPath invece di funzionalità di default come

Home > Accounts > User Account

dove "Account utente" si riferisce a ~ / UserAccount.aspx

Vorrei sovrascrivere l'ultimo nodo per mostrare informazioni su un utente corrente, cioè .:

Home > Accounts > John White

e "John White" si riferisce a ~ / UserAccount.aspx? Id = 111?

È stato utile?

Soluzione

Si, si deve ereditare dal XmlSiteMapProvider e sovrascrivere il metodo BuildSiteMap. Qui è possibile manipolare tutti i nodi che si desidera in fase di esecuzione, che sarà poi visualizzato nel controllo 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;
   }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top