Share via


NavigationTermSetView - Classe

Représente des informations contextuelles qui a une incidence sur le calcul de certaines propriétés pour les objets NavigationTerm dans un objet NavigationTermSet .

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.Publishing.FreezableObject
    Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetView

Espace de noms :  Microsoft.SharePoint.Publishing.Navigation
Assembly :  Microsoft.SharePoint.Publishing (dans Microsoft.SharePoint.Publishing.dll)

Syntaxe

'Déclaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class NavigationTermSetView _
    Inherits FreezableObject
'Utilisation
Dim instance As NavigationTermSetView
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class NavigationTermSetView : FreezableObject

Remarques

L'objet SPWeb , fournisseur de plan de site et la stratégie de limitation des nœuds enfants sont des exemples d'informations contextuelles qui ont l'objet NavigationTermSetView peut contenir.

La classe NavigationTermSetView représente des informations contextuelles qui est utilisé lors du rendu d'un ensemble de termes de navigation, mais qui n'est pas stocké dans le TermStore ou mis en cache par le cache de navigation de taxonomie. Par conséquent, la classe NavigationTermSetView n'est pas considérés comme faisant partie de l'ensemble de termes. Néanmoins, ces informations contextuelles affectent le comportement de l'objet de NavigationTerm et de NavigationTermSet objet similaire à l'apparence d'un objet physique peut changer lors de l'affichage sous des angles différents.

La propriété View est un membre de la classe NavigationTermSet et la classe NavigationTerm et est transmise lors du parcours de la hiérarchie. Par exemple, après l'appel de la méthode GetWithNewView , l'objet retourné sera la vue et sera donc tous les objets obtenus à partir des membres, tels que les propriétés Parent et TermSet .

La propriété View est en lecture seule et fixés pour une instance d'objet spécifiée. Par conséquent, les opérations de modification de la vue retournent toujours une nouvelle instance de l'objet NavigationTerm ou NavigationTermSet . Renvoi de l'objet NavigationTerm ou le NavigationTermSet facilite les optimisations des performances internes qui nécessitent des objets immuables.

Il est possible pour un objet SPWeb , soient configurés pour hériter de sa durée de navigation à partir du parent SPWeb (spécifié à l'aide de la valeur de InheritFromParentWeb ). Dans ce cas, l'objet NavigationTermSetView de l'objet SPWeb de parent est également utilisé pour l'objet SPWeb enfant. En d'autres termes, la propriété WebId reflète l'objet SPWeb dans lequel l'ensemble de termes a été configuré, plutôt que l'objet SPWeb qui hérite de la navigation.

Exemples

L'exemple ci-dessous crée un nouvel ensemble de termes et permet une navigation gérée pour un objet SPWeb avec /web1 en tant qu'URL.

static void ConfigureNavigation(SPWeb web)
{
     // Create the taxonomy term set.
     TaxonomySession taxonomySession = new TaxonomySession(web.Site);
     TermStore termStore = taxonomySession.DefaultSiteCollectionTermStore;
     Group group = termStore.GetSiteCollectionGroup(web.Site);
     TermSet termSet = group.CreateTermSet("Navigation Term Set");

     // Create a view of the term set as it will look after the web has
     // been configured to use it.
     NavigationTermSet navTermSet = NavigationTermSet.GetAsResolvedByWeb(termSet, web,"GlobalNavigationTaxonomyProvider");

     // Set up the navigation-specific properties.
     NavigationTerm navTerm = navTermSet.CreateTerm("My Article", NavigationLinkType.FriendlyUrl);
     navTerm.TargetUrl.Value = "~site/Pages/Article.aspx";
     navTerm.ExcludeFromGlobalNavigation = true;

     // Output      //"/web1/Pages/Article.aspx?TermStoreId=...&TermSetId=...&TermId=...
     Debug.WriteLine(navTerm.GetResolvedTargetUrl(null, null));
     termStore.CommitAll();

     //Show how the term set will look when trimming is turned on.
     NavigationTermSetView newView = navTermSet.View.GetCopy();
     newView.ExcludeTermsByProvider = true;
     NavigationTermSet trimmedTermSet = navTermSet.GetWithNewView(newView);

     //Output: Terms with trimming = 0
     Debug.WriteLine("Terms with trimming = " + trimmedTermSet.Terms.Count);
     //Output: Terms without trimming = 1
     Debug.WriteLine("Terms without trimming = " + navTermSet.Terms.Count);

     // Finally, configure the web site to use the
     // term set above for its navigation
     WebNavigationSettings settings = new WebNavigationSettings(web);
     settings.GlobalNavigation.Source = StandardNavigationSource.TaxonomyProvider;
     settings.GlobalNavigation.TermStoreId = navTermSet.TermStoreId;
     settings.GlobalNavigation.TermSetId = navTermSet.Id;
settings.Update(taxonomySession);
}

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

NavigationTermSetView - Membres

Microsoft.SharePoint.Publishing.Navigation - Espace de noms