Sharepoint:用于自定义列表的自定义SiteMapProvider

时间:2009-07-08 07:59:55

标签: asp.net sharepoint breadcrumbs sitemapprovider

我需要自定义SiteMapNodes的title属性。

我正在使用WSS,并创建了一个自定义文档库。在浏览此库时,我想更改列表名称上方显示的痕迹路径中的节点名称。

到目前为止,我有:

  • 创建了一个继承自的类 System.Web.SiteMapProvider,
  • 将我的课程添加到了web.config,
  • 更改了分享点 default.master页面sitemappath(in PlaceHolderTitleBreadcrumb)指向 到我的新网站地图提供商。

然后我覆盖了CurrentNode属性以编辑具有所需名称的CurrentNode.title。

我的问题是所有以前的节点(父节点)都恢复为原始名称。如何编辑面包屑以便导航所有节点保留其新标题?

任何建议或指示都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我之前完成此操作的方法不是创建新的SiteMapProvider,而是将密封的SharePoint AspMenu控件替换为MossMenu(与AspMenu相同,但由SharePoint团队开源)。然后我用我需要的行为覆盖了OnMenuItemDataBound。

如果您需要/更喜欢使用SiteMapProvider,您是否尝试过使用Reflector或新.NET Framework debugging support来查看它是如何工作的?在SiteMapProvider代码中必须存在被覆盖的更改被覆盖的地方。 : - )