Recherche…


Remarques

Hiérarchie Conceptuelle

Dans la hiérarchie conceptuelle SharePoint, les collections de sites contiennent des sites qui, à leur tour, contiennent des listes . Une collection de sites ( SPSite ) ne possède pas d'interface utilisateur explicite mais contient toujours un site de niveau racine (accessible via la propriété RootWeb ) et éventuellement des sous-sites supplémentaires sous ce site racine. Un site ou un site Web ( SPWeb ) possède une interface utilisateur et contient des bibliothèques de listes / documents ( SPList ), des pages avec des composants Web et des éléments / documents ( SPListItem ).

Mises en garde côté serveur

  • Pour créer une application qui utilise le modèle d'objet côté serveur SharePoint, dans votre projet Visual Studio, vous devez ajouter une référence à l'assembly Microsoft.SharePoint répertorié sous Assemblys de structure.
  • Les applications utilisant le modèle d'objet côté serveur (approbation totale) ne peuvent s'exécuter que sur un serveur Windows hébergeant SharePoint.
  • Vous ne pouvez pas vous connecter à un serveur SharePoint autre que celui sur lequel l'application s'exécute.

Hello World (obtenir le titre du site)

2013

Les versions SharePoint 2013 et ultérieures sont uniquement 64 bits et l'assemblage / programme doit également être conçu pour un processeur 64 bits.

Juste après la création de votre projet, il est nécessaire de basculer la cible Platform de Any CPU vers x64, sinon une erreur se produira.

using System;
using Microsoft.SharePoint;

namespace StackOverflow
{
    class Samples
    {
        static void Main()
        {    
            using (SPSite site = new SPSite("http://server/sites/siteCollection"))
            using (SPWeb web = site.OpenWeb())
            {  
                Console.WriteLine("Title: {0} Description: {1}", web.Title, web.Description);
            }
        }
    }
}

Faire le tour de toute la batterie de serveurs SharePoint

Utilisation de PowerShell à partir d'un serveur Web SharePoint:

$wacoll = get-spwebapplication
foreach($wa in $wacoll){
    if($wa.IsAdministrationWebApplication -eq $false){
        foreach($site in $wa.Sites){
            foreach($web in $site.AllWebs){
                # your code here
                $web.Dispose()
            }
            $site.Dispose()
        }
    }
}

Récupérer des éléments de la liste

using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
    SPList list = web.Lists["Some list"];

    // It is always better and faster to query list items with GetItems method with
    // empty SPQuery object than to use Items property
    SPListItemCollection items = list.GetItems(new SPQuery());
    foreach (SPListItem item in items)
    {
        // Do some operation with item
    }
}

Récupérer des éléments à l'aide de la pagination

using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
    SPList list = web.Lists["Some list"];
    SPQuery query = new SPQuery()
    {
        RowLimit = 100
    };

    do
    {
        SPListItemCollection items = list.GetItems(query);
        foreach (SPListItem item in items)
        {
            // Do some operation with item
        }

        // Assign current position to SPQuery object
        query.ListItemCollectionPosition = items.ListItemCollectionPosition;
    } while (query.ListItemCollectionPosition != null);
}

Obtenir la liste par URL

using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
    string listUrl = string.Format("{0}{1}", web.ServerRelativeUrl, "Lists/SomeList");
    SPList list = web.GetList(listUrl);
}

Créer un élément de liste

Lors de la création d'un nouvel élément de liste, ses champs peuvent être définis à l'aide d'une syntaxe similaire à celle des tableaux de chaînes. Notez que ces champs ne sont pas créés à la volée et sont définis par le schéma de la liste. Ces champs (ou colonnes) doivent exister sur le serveur, sinon la création échouera. Tous les éléments de la liste auront le champ Titre. Certaines listes peuvent comporter des champs obligatoires à remplir avant que l'article ne soit publié dans la liste.

Dans cet exemple, la liste utilise le modèle Annonces. En plus du champ titre, la liste inclut le champ Corps qui affichera le contenu de l'annonce sur la liste.

using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
    SPList list = web.Lists["Announcements"];

    SPListItem item = list.AddItem();
    item[SPBuiltInFieldId.Title] = "My new item";
    item[SPBuiltInFieldId.Body] = "Hello World!";
    item.Update();
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow