Подтвердить что ты не робот

SharePoint: как я могу программно добавлять элементы в экземпляр настраиваемого списка?

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

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

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

4b9b3361

Ответ 1

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

http://blog.the-dargans.co.uk/2007/04/programmatically-adding-items-to.html http://asadewa.wordpress.com/2007/11/19/adding-a-custom-content-type-specific-item-on-a-sharepoint-list/

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

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

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

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

  • Зафиксируйте свои изменения:

    newItem.Update();
    

Ответ 2

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

  • Вам необходимо обратиться к приложению Microsoft.SharePoint.dll.
  • Предполагая, что имя списка Тест, и оно содержит только одно поле "Название", это код.

            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();
            }
    
        }
    
  • Обратите внимание, что вам нужно запустить это приложение на том же сервере, на котором установлен SharePoint.

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

Ответ 3

Вы можете создать элемент в своем пользовательском списке 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() должно сохранять перечисленные элементы списка.

Ответ 4

Вот как это было на сайте 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). Retrieved 22 февраля 2012 г., из http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx.