Freigeben über


TaxonomyNavigation-Klasse

Bietet allgemeine Operationen mit Bezug zu der verwalteten Navigationsfeature, freundlichen URLs und der Taxonomie Navigation Cache.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation

Namespace:  Microsoft.SharePoint.Publishing.Navigation
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

Syntax

'Declaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class TaxonomyNavigation
'Usage
Sie müssen keine Instanz einer statischen Klasse deklarieren, um auf deren Member zugreifen zu können.
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public static class TaxonomyNavigation

Hinweise

Das verwaltete Navigationsfeature kann das Navigationsmenü für eine Website mithilfe einer Taxonomie TermSet -Objekt als auch mit einem Modell für die Implementierung von freundlichen URLs für die Website modelliert werden. Die Hauptklassen für dieses Feature sind TaxonomyTermSetProvider, die die Navigationsmenüs Laufwerke; NavigationTermSet, die erweitert die Taxonomie TermSet -Klasse mit zusätzlichen navigationsbezogenen Eigenschaften und die WebNavigationSettings -Klasse, die Einstellungen konfiguriert. Die statische TaxonomyNavigation -Klasse enthält zusätzliche allgemeine Operationen, die dieser Funktion zugeordnet sind.

Beispiele

Im folgende Beispiel veranschaulicht einen Beispielausdruckssatz erstellen und Konfigurieren einer SharePoint-Website, um Taxonomie Navigation mit dem Beispielausdruckssatz verwenden.

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>");

        //Creates the sample term set. If it exists, it will be deleted
        public static NavigationTermSet RecreateSampleNavTermSet(TaxonomySession taxonomySession, SPWeb web)
        {
            // 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)
            {
                //If the TermSet exists, delete it.
                existingTermSet.Delete();
                termStore.CommitAll();
            }

            // Create a new TermSet
            Group siteCollectionGroup = termStore.GetSiteCollectionGroup(web.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/";
            NavigationTerm term2 = navTermSet.CreateTerm("Term 2", NavigationLinkType.FriendlyUrl);
            NavigationTerm term2a = term2.CreateTerm("Term 2 A", NavigationLinkType.FriendlyUrl);
            NavigationTerm term2b = term2.CreateTerm("Term 2 B", NavigationLinkType.FriendlyUrl);
            NavigationTerm term3 = navTermSet.CreateTerm("Term 3", NavigationLinkType.FriendlyUrl);
            termStore.CommitAll();

            return navTermSet;
        }

        //Configures the web site to use Taxonomy navigation with the sample term set.
        public static NavigationTermSet SetUpSampleNavTermSet(TaxonomySession taxonomySession, SPWeb web)
        {
            NavigationTermSet termSet = RecreateSampleNavTermSet(taxonomySession, web);

            // Clear out any old settings
            WebNavigationSettings webNavigationSettings = new WebNavigationSettings(web);
            webNavigationSettings.ResetToDefaults();
            webNavigationSettings.GlobalNavigation.Source = StandardNavigationSource.TaxonomyProvider;
            webNavigationSettings.GlobalNavigation.TermStoreId = termSet.TermStoreId;
            webNavigationSettings.GlobalNavigation.TermSetId = termSet.Id;
            webNavigationSettings.CurrentNavigation.Source = StandardNavigationSource.TaxonomyProvider;
            webNavigationSettings.CurrentNavigation.TermStoreId = termSet.TermStoreId;
            webNavigationSettings.CurrentNavigation.TermSetId = termSet.Id;
            webNavigationSettings.Update(taxonomySession);
            TaxonomyNavigation.FlushSiteFromCache(web.Site);

            return termSet;
        }
    }
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

TaxonomyNavigation-Member

Microsoft.SharePoint.Publishing.Navigation-Namespace