Sök…


Anmärkningar

Konceptuell hierarki

I Sharepoint konceptuella hierarkin, webbplatssamlingar innehåller ställen, som i sin tur innehåller listor. En webbplatssamling ( SPSite ) har inget uttryckligt användargränssnitt men innehåller alltid en webbplats för RootWeb (tillgänglig via egenskapen RootWeb ) och eventuellt ytterligare underlag under den rotplatsen. En webbplats eller webb ( SPWeb ) har ett användargränssnitt och innehåller listor / dokumentbibliotek ( SPList ), sidor med webparts och objekt / dokument ( SPListItem ).

Varningar på serversidan

  • För att skapa ett program som använder SharePoint-serverns objektobjektmodell måste du i ditt Visual Studio-projekt lägga till en referens till Microsoft.SharePoint-enheten som är listad under Framework Assemblies.
  • Program som använder Server Side Object Model (full-trust) kan bara köras på en Windows Server som är värd för SharePoint.
  • Du kan inte ansluta till en annan SharePoint-server än den som programmet körs på.

Hej värld (får webbplatsens titel)

2013

SharePoint 2013 och nyare versioner är endast 64-bitars och därför måste monteringen / programmet också byggas för 64-bitars processor.

Strax efter att ditt projekt har skapats är det nödvändigt att byta plattformmålet från vilken CPU som helst till x64 annars kommer fel uppstå.

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);
            }
        }
    }
}

Looping genom hela SharePoint-gården

Använda PowerShell kört från en SharePoint-webbserver:

$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()
        }
    }
}

Hämta listobjekt

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
    }
}

Hämta objekt med sökning

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);
}

Hämta lista via 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);
}

Skapa ett listobjekt

När du skapar ett nytt listobjekt kan dess fält ställas in med syntax som liknar strängmatriser. Observera att dessa fält inte skapas i farten och definieras av schemat i listan. Dessa fält (eller kolumner) måste existera på servern, annars skapas skapandet. Alla listobjekt har titelfältet. Vissa listor kan ha obligatoriska fält som måste fyllas i innan objektet kommer att publiceras i listan.

I det här exemplet använder listan meddelandemallen. Förutom titelfältet innehåller listan det kroppsfält som visar innehållet i meddelandet på listan.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow