Pregunta

Hola ¿Puede usted aconsejar por favor cualquier solución? Tengo un control SiteMapPath y en lugar de la funcionalidad por defecto como

Home > Accounts > User Account

donde "Cuenta de Usuario" se refiere a ~ / UserAccount.aspx

Me gustaría sobrescribir el último nodo para mostrar información sobre un usuario actual, es decir .:

Home > Accounts > John White

y "John White" se refiere a ~ / UserAccount.aspx? Id = 111?

¿Fue útil?

Solución

Sí, usted tiene que heredan de la XmlSiteMapProvider y anular su método BuildSiteMap. Aquí se puede manipular cualquier nodo que desee en tiempo de ejecución, que luego aparecen en su control 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;
   }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top