Szukaj…


Uwagi

Hierarchia pojęciowa

W hierarchii pojęciowej SharePoint zbiory witryn zawierają witryny , które z kolei zawierają listy . Zbiór witryn ( SPSite ) nie ma jawnego interfejsu użytkownika, ale zawsze zawiera jedną witrynę na poziomie głównym (dostępną za RootWeb właściwości RootWeb ) i ewentualnie dodatkowe podwitryny pod tą witryną. Witryna lub strona internetowa ( SPWeb ) ma interfejs użytkownika i zawiera listy / biblioteki dokumentów ( SPList ), strony ze stronami internetowymi oraz elementy / dokumenty ( SPListItem ).

Ostrzeżenia po stronie serwera

  • Aby utworzyć aplikację korzystającą z modelu obiektowego po stronie serwera SharePoint, w projekcie Visual Studio należy dodać odwołanie do zestawu Microsoft.SharePoint, który jest wymieniony w części Zespoły ramowe.
  • Aplikacje korzystające z modelu obiektowego po stronie serwera (pełne zaufanie) mogą działać tylko na systemie Windows Server, na którym znajduje się SharePoint.
  • Nie można połączyć się z serwerem SharePoint innym niż ten, na którym działa aplikacja.

Hello World (uzyskanie tytułu strony)

2013

SharePoint 2013 i nowsze wersje są tylko 64-bitowe, dlatego też należy zainstalować asembler / program dla procesora 64-bitowego.

Zaraz po utworzeniu projektu konieczne jest przełączenie celu platformy z dowolnego procesora na x64, w przeciwnym razie wystąpi błąd.

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

Pętla przez całą farmę SharePoint

Za pomocą programu PowerShell wykonanego z serwera SharePoint Web Server:

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

Pobierz elementy listy

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

Pobierz elementy za pomocą stronicowania

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

Uzyskaj listę według adresu 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);
}

Tworzenie elementu listy

Podczas tworzenia nowego elementu listy jego pola można ustawić za pomocą składni podobnej do tablic łańcuchowych. Zauważ, że te pola nie są tworzone w locie i są zdefiniowane przez schemat listy. Te pola (lub kolumny) muszą istnieć na serwerze, w przeciwnym razie tworzenie się nie powiedzie. Wszystkie elementy listy będą miały pole Tytuł. Niektóre listy mogą zawierać wymagane pola, które należy wypełnić, zanim element zostanie opublikowany na liście.

W tym przykładzie lista korzysta z szablonu Ogłoszenia. Oprócz pola tytułu lista zawiera pole Treść, w którym będzie wyświetlana zawartość ogłoszenia na liście.

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow