您好 你能告诉我任何解决方案吗? 我有一个SiteMapPath控件,而不是像
这样的默认功能Home > Accounts > User Account
其中“用户帐户”是指〜/ UserAccount.aspx
我想覆盖最后一个节点以显示有关当前用户的信息,即:
Home > Accounts > John White
和“John White”是指〜/ UserAccount.aspx?id = 111?
答案 0 :(得分:0)
是的,您必须继承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;
}
}