SiteMappath: Измените заголовок и ссылку последней ссылки в цепи

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

  •  14-10-2019
  •  | 
  •  

Вопрос

Привет, не могли бы вы посоветовать, пожалуйста, любое решение? У меня есть элемент управления SiteMappath, и вместо функциональности по умолчанию, как

Home > Accounts > User Account

где «учетная запись пользователя» относится к ~/userAccount.aspx

Я хотел бы перезаписать последний узел, чтобы показать информацию о текущем пользователе, т.е.

Home > Accounts > John White

и «Джон Уайт» относится к ~/userAccount.aspx? id = 111?

Это было полезно?

Решение

Да, вы должны унаследовать от XmlSiteMapProvider и переопределить его BuildSiteMap метод Здесь вы можете манипулировать любыми узлами, которые вы хотите во время выполнения, которые затем появятся в вашем 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;
   }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top