NavigationTermSet classe
Especifica o comportamento de navegação e as propriedades de um objeto de TermSet que é usado para orientar a navegação e URLs amigáveis para um site.
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet
Namespace: Microsoft.SharePoint.Publishing.Navigation
Assembly: Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)
Sintaxe
'Declaração
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public MustInherit Class NavigationTermSet _
Inherits NavigationTermSetItem
'Uso
Dim instance As NavigationTermSet
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public abstract class NavigationTermSet : NavigationTermSetItem
Comentários
Essa classe adiciona propriedades adicionais e operações que são específicas para navegação gerenciada.
O objeto NavigationTermSet tem dois modos: um modo editável que age como um invólucro simples para um objeto de TermSet e um modo otimizado de somente leitura que é usado para reduzir o tamanho de memória dos objetos NavigationTermSet armazenado no cache de navegação de taxonomia.
Use o método GetAsResolvedByWeb para construir uma instância editável. Use os métodos TaxonomyNavigation para obter instâncias de somente leitura do cache de navegação de taxonomia.
Dica
A classe NavigationTermSet oferece suporte a vários modos de exibição por meio do método GetWithNewView .
Consulte a documentação de NavigationTermSetView para obter mais informações.
Exemplos
O exemplo a seguir demonstra a criação de um conjunto de termos.
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Taxonomy;
using Microsoft.SharePoint.Publishing.Navigation;
namespace NavigationDemos
{
public class Class1
{
public static readonly Guid NavTermSetId = new Guid("<GUID>");
public static readonly Guid TaggingTermSetId = new Guid("<GUID>");
public const string ServerUrl = "http:// <ServerURL>";
public void CreateNavigationTermSet()
{
using (SPSite site = new SPSite(ServerUrl))
{
using (SPWeb web = site.OpenWeb())
{
TaxonomySession taxonomySession = new TaxonomySession(site, updateCache: true);
// Use the first TermStore in the list
if (taxonomySession.TermStores.Count == 0)
throw new InvalidOperationException("The Taxonomy Service is offline or missing");
TermStore termStore = taxonomySession.TermStores[0];
// Does the TermSet already exist?
TermSet existingTermSet = termStore.GetTermSet(NavTermSetId);
if (existingTermSet != null)
{
existingTermSet.Delete();
termStore.CommitAll();
}
// Create a new TermSet
Group siteCollectionGroup = termStore.GetSiteCollectionGroup(site);
TermSet termSet = siteCollectionGroup.CreateTermSet("Navigation Demo", NavTermSetId);
NavigationTermSet navTermSet = NavigationTermSet.GetAsResolvedByWeb(termSet, web,
StandardNavigationProviderNames.GlobalNavigationTaxonomyProvider);
navTermSet.IsNavigationTermSet = true;
navTermSet.TargetUrlForChildTerms.Value = "~site/Pages/Topics/Topic.aspx";
NavigationTerm term1 = navTermSet.CreateTerm("Term 1", NavigationLinkType.SimpleLink);
term1.SimpleLinkUrl = "https://www.bing.com/";
Guid term2Guid = new Guid("87FAA433-4E3E-4500-AA5B-E04330B12ACD");
NavigationTerm term2 = navTermSet.CreateTerm("Term 2", NavigationLinkType.FriendlyUrl,
term2Guid);
// Verify that the NavigationTermSetView is being applied correctly
string expectedTargetUrl = web.ServerRelativeUrl
+ "/Pages/Topics/Topic.aspx?TermStoreId=" + termStore.Id.ToString()
+ "&TermSetId=" + NavTermSetId.ToString()
+ "&TermId=" + term2Guid.ToString();
NavigationTerm childTerm = term2.CreateTerm("Term 2 child", NavigationLinkType.FriendlyUrl);
// Commit the Taxonomy changes
childTerm.GetTaxonomyTerm().TermStore.CommitAll();
}
}
}
}
}
Segurança de thread
Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.