SharePoint:如何以编程方式将项添加到自定义列表实例

我真的在寻找一个小代码片段,或者是关于这个主题的好教程。

我有一个C#控制台应用程序,我将用它以某种方式将列表项添加到我的自定义列表。 我也创建了一个自定义内容类型。 因此,不确定是否需要从此内容类型创建C#类。 也许不是。

提前致谢

我认为这两篇博文都可以帮助您解决问题。

http://blog.the-dargans.co.uk/2007/04/programmatically-adding-items-to.html http://asadewa.wordpress.com/2007/11/19/adding-a-custom-content型特定项目上-A-的SharePoint列表/

短途步行:

  1. 获取要添加项目的列表的实例。
  2. 将新项添加到列表中:

    SPListItem newItem = list.AddItem(); 
  3. 要将新项目绑定到内容类型,您必须为新项目设置内容类型ID:

     newItem["ContentTypeId"] = ; 
  4. 设置内容类型中指定的字段。

  5. 提交您的更改:

     newItem.Update(); 

简单来说,您需要按照步骤操作。

  1. 您需要将Microsoft.SharePoint.dll引用到该应用程序。
  2. 假设List Name是Test ,它只有一个Field“Title”,这里是代码。

      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. 您不需要为自定义内容类型创建自定义类

您可以在自定义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()应该保存列举的列表项。

这就是微软网站上的情况,我只是调整了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年)。 2012年2月22日检索自http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx 。