Поиск…


замечания

Концептуальная иерархия

В концептуальной иерархии SharePoint семейства сайтов содержат сайты , которые, в свою очередь, содержат списки . В SPSite сайтов ( SPSite ) нет явного пользовательского интерфейса, но он всегда содержит один сайт корневого уровня (доступный через свойство RootWeb ) и, возможно, дополнительные подсайты под этим корневым сайтом. Сайт или веб-сайт ( SPWeb ) имеет пользовательский интерфейс и содержит библиотеки списков / документов ( SPList ), страницы с веб-страницами и элементы / документы ( SPListItem ).

Предостережения на стороне сервера

  • Чтобы создать приложение, использующее объектную модель на стороне сервера SharePoint, в проекте Visual Studio вы должны добавить ссылку на сборку Microsoft.SharePoint, которая указана в разделе «Рамочные сборки».
  • Приложения, использующие объектную модель на стороне сервера (полное доверие), могут выполняться только на сервере Windows Server, на котором размещается SharePoint.
  • Вы не можете подключиться к серверу SharePoint, отличному от того, на котором работает приложение.

Hello World (получение названия сайта)

2013

SharePoint 2013 и более новые версии имеют только 64-разрядные версии, поэтому сборка / программа также должна быть построена для 64-битного процессора.

Сразу после создания вашего проекта необходимо перейти с целевого объекта платформы с любого CPU на x64, иначе будет возникать ошибка.

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

Цитирование через всю ферму SharePoint

Использование PowerShell выполняется с веб-сервера 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()
        }
    }
}

Получить элементы списка

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

Получение элементов с помощью подкачки

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

Получить список по 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);
}

Создание элемента списка

При создании нового элемента списка его поля могут быть установлены с использованием синтаксиса, аналогичного строковым массивам. Обратите внимание, что эти поля не создаются «на лету» и определяются схемой списка. Эти поля (или столбцы) должны существовать на сервере, иначе создание не будет выполнено. Все элементы списка будут иметь поле Title. Некоторые списки могут иметь обязательные поля, которые должны быть заполнены до того, как элемент будет опубликован в списке.

В этом примере в списке используется шаблон объявлений. Помимо поля заголовка, список включает поле «Тело», в котором будет отображаться содержимое объявления в списке.

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow