SharePoint: как программно добавить элементы в пользовательский экземпляр списка - PullRequest
24 голосов
/ 26 августа 2009

Я действительно ищу небольшой фрагмент кода или хороший учебник по этому вопросу.

У меня есть консольное приложение C #, которое я буду использовать, чтобы каким-то образом добавить элементы списка в свой пользовательский список. Я создал собственный тип контента тоже. Так что не уверен, что мне нужно создать класс C # из этого типа контента. Возможно нет.

Заранее спасибо

Ответы [ 4 ]

32 голосов
/ 26 августа 2009

Я думаю, что оба этих сообщения в блоге должны помочь вам решить вашу проблему.

http://blog.the -dargans.co.uk / 2007/04 / программно-добавление-items-to.html http://asadewa.wordpress.com/2007/11/19/adding-a-custom-content-type-specific-item-on-a-sharepoint-list/

Короткая прогулка по:

  1. Получить экземпляр списка, в который вы хотите добавить элемент.
  2. Добавить новый элементк списку:

    SPListItem newItem = list.AddItem();
    
  3. Чтобы связать новый элемент с типом содержимого, необходимо установить идентификатор типа содержимого для нового элемента:

    newItem["ContentTypeId"] = <Id of the content type>;
    
  4. Установите поля, указанные в вашем типе контента.

  5. Подтвердите изменения:

    newItem.Update();
    
17 голосов
/ 26 августа 2009

Проще говоря, вам нужно будет выполнить шаг.

  1. Необходимо указать Microsoft.SharePoint.dll в приложении.
  2. Предполагая, что имя списка равно Test и в нем есть только одно поле "Заголовок", здесь указан код.

            using (SPSite oSite=new SPSite("http://mysharepoint"))
        {
            using (SPWeb oWeb=oSite.RootWeb)
            {
                SPList oList = oWeb.Lists["Test"];
                SPListItem oSPListItem = oList.Items.Add();
                oSPListItem["Title"] = "Hello SharePoint";
                oSPListItem.Update();
            }
    
        }
    
  3. Обратите внимание, что вам нужно запустить это приложение на том же сервере, где установлен SharePoint.

  4. Вам не нужно создавать пользовательский класс для пользовательского типа контента

11 голосов
/ 15 сентября 2011

Вы можете создать элемент в своем пользовательском списке SharePoint, выполнив что-то вроде этого:

using (SPSite site = new SPSite("http://sharepoint"))
{
    using (SPWeb web = site.RootWeb)
    {
        SPList list = web.Lists["My List"];
        SPListItem listItem = list.AddItem();
        listItem["Title"] = "The Title";
        listItem["CustomColumn"] = "I am custom";
        listItem.Update();
     }
}

Использование list.AddItem () должно сохранить перечисляемые элементы списков.

5 голосов
/ 22 февраля 2012

Так было на сайте Microsoft, я просто настраивал SPSite и SPWeb, так как они могут различаться в зависимости от среды, и это помогает избежать необходимости жестко кодировать их:

using (SPSite oSiteCollection = new SPSite(SPContext.Current.Site.Url))
{
    using (SPWeb oWeb = oSiteCollection.OpenWeb(SPContext.Current.Web))
    {
        SPList oList = oWeb.Lists["Announcements"];
        // You may also use 
        // SPList oList = oWeb.GetList("/Lists/Announcements");
        // to avoid querying all of the sites' lists
        SPListItem oListItem = oList.Items.Add();
        oListItem["Title"] = "My Item";
        oListItem["Created"] = new DateTime(2004, 1, 23);
        oListItem["Modified"] = new DateTime(2005, 10, 1);
        oListItem["Author"] = 3;
        oListItem["Editor"] = 3;
        oListItem.Update();
    }
}

Источник: SPListItemClass (Microsoft.SharePoint). (2012). Получено 22 февраля 2012 г., http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx.

...