SharePoint:Пользовательский SiteMapProvider для пользовательского списка

StackOverflow https://stackoverflow.com/questions/1096698

Вопрос

Мне нужно настроить свойство title для SiteMapNodes.

Я использую WSS и создал собственную библиотеку документов.При навигации по этой библиотеке я хочу изменить имена узлов в навигационной цепочке, отображаемой над именем списка.

На данный момент у меня есть:

  • создал класс, наследуемый от System.Web.SiteMapProvider,
  • добавил мой класс в web.config,
  • Изменение SharePoint default.master page sitemappath (в PlaceHolderTitleBreadcrumb) для указания к моему новому поставщику карт сайта.

Затем я перезаписал свойство CurrentNode, чтобы отредактировать CurrentNode.title с нужным именем.

Моя проблема в том, что все предыдущие узлы (родительские узлы) возвращаются к своим первоначальным именам.Как мне отредактировать навигационную цепочку, чтобы все узлы, по которым осуществляется переход, сохранили свой новый заголовок?

Любой совет или направление будут оценены по достоинству.

Это было полезно?

Решение

Раньше я делал это не путем создания нового SiteMapProvider, а путем замены запечатанного элемента управления AspMenu SharePoint на МоссМеню (то же, что и AspMenu, но с открытым исходным кодом, созданным командой SharePoint).Затем я переопределил OnMenuItemDataBound с нужным мне поведением.

Если вам нужно/предпочитаете использовать SiteMapProvider, пробовали ли вы использовать Отражатель или новый Поддержка отладки .NET Framework посмотреть, как это работает?Где-то в коде SiteMapProvider должно быть место, где ваши переопределенные изменения, в свою очередь, также переопределяются.:-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top