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

Asp.net SiteMapPath:更改链中最后一个链接的标题和链接,asp.net,sitemappath,Asp.net,Sitemappath,嗨 你能告诉我什么解决办法吗? 我有一个SiteMapPath控件,而不是像这样的默认功能 Home > Accounts > User Account 其中“用户帐户”指~/UserAccount.aspx 我想覆盖最后一个节点以显示当前用户的信息,即: Home > Accounts > John White “John White”指的是~/UserAccount.aspx?id=111?是的,您必须从XmlSiteMapProvider继承并重写其BuildS

嗨 你能告诉我什么解决办法吗? 我有一个SiteMapPath控件,而不是像这样的默认功能

Home > Accounts > User Account
其中“用户帐户”指~/UserAccount.aspx

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

Home > Accounts > John White

“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;
   }
}

您使用的是哪个提供程序?标准xmlSiteMapProvider。可能我应该继承它并添加一些功能以支持扩展的.sitemap语法。请按照以下链接操作: