Partager via


SPNavigationNodeCollection.AddAsLast - Méthode

Ajoute un objet SPNavigationNode comme le dernier nœud dans la collection.

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

Syntaxe

'Déclaration
Public Function AddAsLast ( _
    node As SPNavigationNode _
) As SPNavigationNode
'Utilisation
Dim instance As SPNavigationNodeCollection
Dim node As SPNavigationNode
Dim returnValue As SPNavigationNode

returnValue = instance.AddAsLast(node)
public SPNavigationNode AddAsLast(
    SPNavigationNode node
)

Paramètres

Valeur renvoyée

Type : Microsoft.SharePoint.Navigation.SPNavigationNode
Le nœud de navigation qui a été ajouté, désormais complètement initialisé.

Remarques

Un objet SPNavigationNode n'est pas complètement initialisé jusqu'à ce qu'il a été ajouté à une collection. Si l'objet n'est pas encore un membre d'une collection, les propriétés en lecture seule, telles que Id et ParentId renvoient une référence Null (Rien dans Visual Basic).

Exemples

L'exemple suivant est une application console qui ajoute un lien vers un site enfant sur la barre de liens supérieure du site Web parent. Notez qu'avant d'ajouter le lien, l'application vérifie tout d'abord pour vous assurer que le parent n'hérite pas des liens. Si le parent n'hérite pas des liens, son SPNavigationNodeCollection a la valeur null, et donc un lien ne peut pas être ajouté. L'application vérifie également si un lien vers l'enfant existe déjà sur la barre de liens supérieure du parent. Si le parent n'hérite pas de liens et n'a aucun lien existant à l'enfant, un est ajouté.

using System;
using System.Linq;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("https://localhost"))
            {
                using (SPWeb child = site.OpenWeb("parent/child"))
                {
                    // Use links from parent on the child's top link bar.
                    child.Navigation.UseShared = true;

                    // If the parent web's top link bar is not inherited,
                    // add a link to the child on the parent's top link bar.
                    if (!child.ParentWeb.Navigation.UseShared)
                    {
                        // Get the parent's top link bar.
                        SPNavigationNodeCollection topnav = child.ParentWeb.Navigation.TopNavigationBar;

                        // Query for an existing link to the child.
                        SPNavigationNode node = topnav
                            .Cast<SPNavigationNode>()
                            .FirstOrDefault(n => n.Url.Equals(child.ServerRelativeUrl));

                        // No link, so add one.
                        if (node == null)
                        {
                            // Truncate a long title.
                            string linkTitle = child.Title;
                            if (linkTitle.Length > 15)
                                linkTitle = linkTitle.Substring(0, 12) + "...";

                            // Create the node.
                            node = new SPNavigationNode(linkTitle, child.ServerRelativeUrl);

                            // Add it.
                            node = topnav.AddAsLast(node);
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Navigation

Module ConsoleApp

    Sub Main()

        Using site As New SPSite("https://localhost")

            Using child As SPWeb = site.OpenWeb("parent/child")

                ' Use links from parent on the child's top link bar.
                child.Navigation.UseShared = True

                ' If the parent web's top link bar is not inherited,
                ' add a link to the child on the parent's top link bar.
                If Not child.ParentWeb.Navigation.UseShared Then

                    ' Get the parent's top link bar.
                    Dim topnav As SPNavigationNodeCollection = child.ParentWeb.Navigation.TopNavigationBar

                    ' Query for an existing link to the child.
                    Dim node As SPNavigationNode = topnav.Cast(Of SPNavigationNode)().FirstOrDefault(Function(n) n.Url.Equals(child.ServerRelativeUrl))

                    ' No link, so add one.
                    If node Is Nothing Then
                        ' Truncate a long title.
                        Dim linkTitle As String = child.Title
                        If linkTitle.Length > 15 Then
                            linkTitle = linkTitle.Substring(0, 12) + "..."
                        End If

                        ' Create the node.
                        node = New SPNavigationNode(linkTitle, child.ServerRelativeUrl)

                        ' Add it.
                        node = topnav.AddAsLast(node)
                    End If

                End If

            End Using

        End Using

        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub

End Module

Voir aussi

Référence

SPNavigationNodeCollection classe

SPNavigationNodeCollection - Membres

Microsoft.SharePoint.Navigation - Espace de noms

Microsoft.SharePoint.Navigation.SPNavigationNode

SPNavigationNode.Update

UseShared

MoveToLast(SPNavigationNodeCollection)