Compartir a través de


Clase NavigationTermSet

Especifica el comportamiento de navegación y las propiedades de un objeto TermSet que se utiliza para controlar la navegación y direcciones URL descriptivas de un sitio Web.

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem
    Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet

Espacio de nombres:  Microsoft.SharePoint.Publishing.Navigation
Ensamblado:  Microsoft.SharePoint.Publishing (en Microsoft.SharePoint.Publishing.dll)

Sintaxis

'Declaración
<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

Comentarios

Esta clase agrega propiedades adicionales y las operaciones que son específicas de navegación administrado.

El objeto NavigationTermSet tiene dos modos: un modo editable que actúa como contenedor de un objeto TermSet ligero y un modo optimizado de sólo lectura que se utiliza para reducir el tamaño de la memoria de los objetos NavigationTermSet almacenada en la caché de navegación de la taxonomía.

Utilice el método GetAsResolvedByWeb para construir una instancia editable. Utilice los métodos TaxonomyNavigation para obtener instancias de sólo lectura de la caché de navegación de la taxonomía.

Nota

La clase NavigationTermSet admite varias vistas mediante el método GetWithNewView .

Consulte NavigationTermSetView para obtener más información.

Ejemplos

En el ejemplo siguiente se muestra cómo crear un conjunto de términos.

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();
                }
            }
        }
    }
}

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros NavigationTermSet

Espacio de nombres Microsoft.SharePoint.Publishing.Navigation