SiteMapPath: изменить заголовок и ссылку последней ссылки в цепочке - PullRequest
0 голосов
/ 04 января 2011

Привет. Посоветуйте, пожалуйста, какое-нибудь решение?У меня есть элемент управления SiteMapPath, и вместо стандартных функций, таких как

Home > Accounts > User Account

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

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

Home > Accounts > John White

и «Джон Уайт» ссылается на ~ / UserAccount.aspx? id = 111?

1 Ответ

0 голосов
/ 04 января 2011

Да, вы должны наследовать от 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;
   }
}
...