【问题标题】:SiteMapPath: change the title and link of the last link in chainSiteMapPath:更改链中最后一个链接的标题和链接
【发布时间】:2011-01-03 21:25:10
【问题描述】:

嗨 你能建议任何解决方案吗? 我有一个 SiteMapPath 控件,而不是像

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

“用户帐户”指的是 ~/UserAccount.aspx

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

Home > Accounts > John White

而“John White”指的是 ~/UserAccount.aspx?id=111 ?

【问题讨论】:

  • 您使用的是哪个提供商?
  • 标准 xmlSiteMapProvider。可能我应该继承它并添加一些功能来支持扩展的 .sitemap 语法。

标签: asp.net sitemappath


【解决方案1】:

是的,你必须继承 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;
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多