SharePoint:Пользовательский SiteMapProvider для пользовательского списка
-
11-09-2019 - |
Вопрос
Мне нужно настроить свойство 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 должно быть место, где ваши переопределенные изменения, в свою очередь, также переопределяются.:-)