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

Я использую 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();

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

Спасибо


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


Ответы (1)


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

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();
person Can PERK    schedule 12.06.2014