Compartilhar via


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.

Ver também

Referência

NavigationTermSet membros

Microsoft.SharePoint.Publishing.Navigation namespace