Partager via


SPWebCollection.Add - Méthode (String, String, String, UInt32, SPWebTemplate, Boolean, Boolean)

Crée un objet SPWeb avec l'URL relative du site spécifiée, titre, description, ID de paramètres régionaux et définition de site ou objet de modèle de site.

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

Syntaxe

'Déclaration
Public Function Add ( _
    strWebUrl As String, _
    strTitle As String, _
    strDescription As String, _
    nLCID As UInteger, _
    WebTemplate As SPWebTemplate, _
    useUniquePermissions As Boolean, _
    bConvertIfThere As Boolean _
) As SPWeb
'Utilisation
Dim instance As SPWebCollection
Dim strWebUrl As String
Dim strTitle As String
Dim strDescription As String
Dim nLCID As UInteger
Dim WebTemplate As SPWebTemplate
Dim useUniquePermissions As Boolean
Dim bConvertIfThere As Boolean
Dim returnValue As SPWeb

returnValue = instance.Add(strWebUrl, _
    strTitle, strDescription, nLCID, _
    WebTemplate, useUniquePermissions, _
    bConvertIfThere)
public SPWeb Add(
    string strWebUrl,
    string strTitle,
    string strDescription,
    uint nLCID,
    SPWebTemplate WebTemplate,
    bool useUniquePermissions,
    bool bConvertIfThere
)

Paramètres

  • strWebUrl
    Type : System.String

    Chaîne qui contient la nouvelle URL du site Web relative au site Web racine dans la collection de sites. Par exemple, pour créer un site Web à http://MyServer/sites/MySiteCollection/MyNewWebsite, spécifiez MyNewWebsite, ou pour créer un site Web de niveau immédiatement inférieur à http://MyServer/sites/MySiteCollection/Website/MyNewWebsite, spécifiez Website/MyNewWebsite.

  • strDescription
    Type : System.String

    Chaîne qui contient la description.

  • nLCID
    Type : System.UInt32

    Entier non signé 32 bits qui spécifie l'ID de paramètres régionaux.

  • useUniquePermissions
    Type : System.Boolean

    true pour créer un sous-site qui n'hérite pas des autorisations d'un autre site ; dans le cas contraire, false.

  • bConvertIfThere
    Type : System.Boolean

    true pour convertir un dossier existant du même nom sur un site SharePoint. false lève une exception qui indique qu'un chemin d'URL avec le nom de site spécifié existe déjà.

Valeur renvoyée

Type : Microsoft.SharePoint.SPWeb
Objet SPWeb qui représente le site Web.

Remarques

Par défaut, un modèle de site globale (GLOBAL#0) est ajouté à toutes les définitions de site. Vous ne pouvez pas créer explicitement un site basé sur le modèle de site globale.

Exemples

L'exemple suivant fait partie d'un projet plus important qui utilise une fonctionnalité étendue Web pour créer un sous-site sous le site Web où la fonctionnalité est activée. La fonctionnalité inclut un gestionnaire d'événements qui implémente la classe SPFeatureReceiver . Code pour créer le sous-site se trouve dans la méthode de FeatureActivated du récepteur de fonctionnalité.

Après avoir créé le nouveau site Web, l'exemple de code ajoute un lien à celui-ci à la barre de liens supérieure du site parent ou, si l'objet parent hérite des liens pour la barre de lancement rapide du site parent.

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    // Get the web site where the feature is activated.
    SPWeb parentWeb = properties.Feature.Parent as SPWeb;
    if (parentWeb == null)
        return;

    SPWeb childWeb = null;
    string childName = "ourwiki";

    // If a subsite by that name exists, open it.
    string[] webs = parentWeb.Webs.Names;
    if (webs != null && Array.IndexOf(webs, childName) >= 0)
    {
        childWeb = parentWeb.Webs[childName];
    }

    // Otherwise, create the subsite.
    if (childWeb == null)
    {
        string title = "Wiki";
        string desc = "A place to capture knowledge.";
        uint lcid = parentWeb.Language;

        string templateName = "WIKI#0";

        childWeb = parentWeb.Webs.Add(childName, title, desc, lcid, templateName, false, false);
    }

    // Let the subsite use the parent site's top link bar.
    childWeb.Navigation.UseShared = true;

    // Get a collection of navigation nodes.
    SPNavigationNodeCollection nodes = null;
    if (parentWeb.Navigation.UseShared)
    {
        // Parent site does not have its own top link bar
        // so use the parent's Quick Launch.
        nodes = parentWeb.Navigation.QuickLaunch;
    }
    else
    {
        // Parent site has its own top link bar,
        // so use it.
        nodes = parentWeb.Navigation.TopNavigationBar;
    }

    // Check for an existing link to the subsite.
    SPNavigationNode node = nodes
        .Cast<SPNavigationNode>()
        .FirstOrDefault(n => n.Url.Equals(childWeb.ServerRelativeUrl));

    // No link, so add one.
    if (node == null)
    { 
        // Create the node.
        node = new SPNavigationNode(childWeb.Title, childWeb.ServerRelativeUrl);

        // Add it to the collection.
        node = nodes.AddAsLast(node);
    }

    childWeb.Dispose();
    parentWeb.Dispose();
}
Public Overrides Sub FeatureActivated(ByVal properties As SPFeatureReceiverProperties)

    'Get the web site where the feature is activated.
    Dim parentWeb As SPWeb = TryCast(properties.Feature.Parent, SPWeb)
    If parentWeb Is Nothing Then
        Return
    End If

    Dim childWeb As SPWeb = Nothing
    Dim childName As String = "ourwiki"

    ' If a subsite by that name exists, open it.
    Dim webs As String() = parentWeb.Webs.Names
    If webs IsNot Nothing AndAlso Array.IndexOf(webs, childName) >= 0 Then
        childWeb = parentWeb.Webs(childName)
    End If

    ' Otherwise, create the subsite.
    If childWeb Is Nothing Then
        Dim title As String = "Wiki"
        Dim desc As String = "A place to capture knowledge."
        Dim lcid As UInteger = parentWeb.Language

        Dim templateName As String = "WIKI#0"

        childWeb = parentWeb.Webs.Add(childName, title, desc, lcid, _
                                        templateName, False, False)
    End If

    ' Let the subsite use the parent site's top link bar.
    childWeb.Navigation.UseShared = True

    ' Get a collection of navigation nodes.
    Dim nodes As SPNavigationNodeCollection = Nothing

    If parentWeb.Navigation.UseShared Then
        ' Parent site does not have its own top link bar
        ' so use the parent's Quick Launch.
        nodes = parentWeb.Navigation.QuickLaunch
    Else
        ' Parent site has its own top link bar,
        ' so use it.
        nodes = parentWeb.Navigation.TopNavigationBar
    End If

    ' Check for an existing link to the subsite.
    Dim node As SPNavigationNode = nodes.Cast(Of SPNavigationNode)().FirstOrDefault( _
        Function(n) n.Url.Equals(childWeb.ServerRelativeUrl))

    ' No link, so add one.
    If node Is Nothing Then

        ' Create the node.
        node = New SPNavigationNode(childWeb.Title, childWeb.ServerRelativeUrl)

        ' Add it to the collection.
        node = nodes.AddAsLast(node)
    End If

    childWeb.Dispose()
    parentWeb.Dispose()
End Sub

Voir aussi

Référence

SPWebCollection classe

SPWebCollection - Membres

Add - Surcharge

Microsoft.SharePoint - Espace de noms