Zoeken…


Opmerkingen

Conceptuele Hiërarchie

In de SharePoint-conceptuele hiërarchie bevatten siteverzamelingen sites , die op hun beurt lijsten bevatten. Een siteverzameling ( SPSite ) heeft geen expliciete gebruikersinterface maar bevat altijd één site op hoofdniveau (toegankelijk via de eigenschap RootWeb ) en mogelijk extra subsites onder die RootWeb . Een site of web ( SPWeb ) heeft een gebruikersinterface en bevat lijsten / documentbibliotheken ( SPList ), pagina's met webonderdelen en items / documenten ( SPListItem ).

Server-kanttekeningen

  • Als u een toepassing wilt maken die het SharePoint-serverobjectmodel gebruikt, moet u in uw Visual Studio-project een verwijzing toevoegen naar de Microsoft.SharePoint-assemblage die wordt vermeld onder Framework Assemblies.
  • Toepassingen die het Server Side Object Model (volledig vertrouwen) gebruiken, kunnen alleen worden uitgevoerd op een Windows Server die SharePoint host.
  • U kunt geen verbinding maken met een andere SharePoint-server dan die waarop de toepassing wordt uitgevoerd.

Hallo wereld (site-titel krijgen)

2013

SharePoint 2013 en nieuwere versies zijn alleen 64-bit en daarom moet het samenstel / programma ook worden gebouwd voor een 64-bit processor.

Direct nadat uw project is gemaakt, is het noodzakelijk om het platformdoel van elke CPU naar x64 te schakelen, anders treedt er een fout op.

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

Loop door de hele SharePoint-farm

PowerShell uitgevoerd vanaf een SharePoint-webserver gebruiken:

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

Lijstitems ophalen

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

Items ophalen met behulp van paging

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

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

Een lijstitem maken

Bij het maken van een nieuw lijstitem kunnen de velden worden ingesteld met behulp van syntaxis vergelijkbaar met tekenreeksmatrices. Merk op dat deze velden niet direct worden gemaakt en worden gedefinieerd door het schema van de lijst. Deze velden (of kolommen) moeten op de server bestaan, anders mislukt het aanmaken. Alle lijstitems hebben het veld Titel. Sommige lijsten kunnen verplichte velden bevatten die moeten worden ingevuld voordat het item in de lijst wordt gepubliceerd.

In dit voorbeeld gebruikt de lijst de sjabloon Aankondigingen. Naast het titelveld bevat de lijst het veld Hoofdgedeelte dat de inhoud van de aankondiging in de lijst weergeeft.

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow