1

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

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

到目前为止,我有:

  • 创建了一个继承自 System.Web.SiteMapProvider 的类,
  • 将我的课程添加到 web.config,
  • 将 sharepoint default.master 页面站点地图路径(在 PlaceHolderTitleBreadcrumb 中)更改为指向我的新站点地图提供程序。

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

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

任何建议或方向将不胜感激。

4

1 回答 1

2

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

如果您需要/更喜欢使用 SiteMapProvider,您是否尝试过使用Reflector或新的.NET Framework 调试支持来查看它是如何工作的?在 SiteMapProvider 代码中的某个地方,您被覆盖的更改反过来也会被覆盖。:-)

于 2009-07-08T08:37:49.983 回答