SiteMapPath:更改链中最后一个链接的标题和链接

时间:2011-01-03 21:25:11

标签: asp.net sitemappath

您好 你能告诉我任何解决方案吗? 我有一个SiteMapPath控件,而不是像

这样的默认功能
Home > Accounts > User Account

其中“用户帐户”是指〜/ UserAccount.aspx

我想覆盖最后一个节点以显示有关当前用户的信息,即:

Home > Accounts > John White

和“John White”是指〜/ UserAccount.aspx?id = 111?

1 个答案:

答案 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;
   }
}