SharePoint: как я могу программно добавлять элементы в экземпляр настраиваемого списка?
Я действительно ищу либо небольшой фрагмент кода, либо хороший учебник по этому вопросу.
У меня есть консольное приложение на С#, которое я буду использовать для добавления элементов списка в свой собственный список. Я создал собственный тип контента. Поэтому не уверен, что мне нужно создать класс С# из этого типа контента. Возможно нет.
Заранее спасибо
Ответы
Ответ 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.