嗨,您能建议任何解决方案吗?我有一个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;
   }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top