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
node
Type : Microsoft.SharePoint.Navigation.SPNavigationNodeSpécifie l'objet de nœud (SPNavigationNode) à ajouter à la collection.
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