SiteMappath: Измените заголовок и ссылку последней ссылки в цепи
-
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;
}
}
Не связан с StackOverflow