Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как получить дружественный URL термина sharepoint

Автор вопроса: Can PERKОтветов: 1

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

Например,

Page url -> Term -> Friendly URL
  • ~/Pages/Content.aspx?ctx=1 -> Контакт -> ~/Сводка/Контакт
  • ~/Pages/Content.aspx?ctx=2 -> О программе -> ~/Сводка/О программе
  • ~/Pages/Content.aspx?ctx=2 -> FAQ -> ~/Summary/FAQ

это мой план, и если я перехожу по странице вручную с дружественным URL-адресом, все в порядке. Но мне нужно найти дружественный URL-адрес по его ссылочному термину что-то вроде этого.

 string friendlyurl = term.GetFriendlyUrl();

но нет собственности или чего-то подобного, чтобы получить это.

Спасибо

  • Могу ли я предположить, что вы используете SharePoint 2013 и управляемую навигацию? CBono 11.06.2014
  • Да, я использую SharePoint 2013 и управляемую навигацию. Can PERK 11.06.2014

navigationmetadatasharepointtermfriendly-url

Ответы

Ответ 1 · рейтинг 2 · Can PERK

Я решил эту проблему. Просто нужно найти термин в наборе терминов семейства сайтов, как показано ниже.

SPSite site = SPSite.Current.Site;
TaxonomySession servis = new TaxonomySession(site);
siteNavigationStore = servis.DefaultSiteCollectionTermStore;
siteNavigationGroup = sitenavigationstore.GetSiteCollectionGroup(site);
siteNavigationSet = sitenavigationgrup.TermSets["Term Set Name"];
NavigationTerm navigatedTerm = NavigationTerm.GetAsResolvedByWeb(navigationterm, site.RootWeb, StandardNavigationProviderNames.GlobalNavigationTaxonomyProvider);

Вы можете найти URL-адрес друга, например

navigatedTerm.GetWebRelativeFriendlyUrl();

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы