根据某些列值以编程方式删除多个共享点列表项

时间:2011-05-01 10:28:29

标签: sharepoint-2007

我想通过代码删除文档库项目。 假设Doc库有一列FolderId。 我想删除所有拥有folderId 33的项目。 我试图通过代码删除它但它只删除了第一个记录与folderId 33和何时尝试删除项目代码的第二次出现抛出异常==>

“Microsoft.SharePoint.SPException:项目不存在。它可能已被其他用户删除。在Microsoft.SharePoint.SPListItem.EnsureItemIsValid()处于Microsoft.SharePoint.SPListItem.PrepareItemForUpdate(Guid newGuidOnAdd,SPWeb web,Boolean bMigration,布尔&安培; BADD,布尔&安培; bPublish,对象&安培; objAttachmentNames,对象&安培; objAttachmentContents,的Int32&安培;在Microsoft.SharePoint.SPListItem.UpdateInternal(布尔bSystem,布尔bPreserveItemVersion,的Guid newGuidOnAdd,布尔bMigration,布尔bPublish,布尔bNoVersion,布尔parentFolderId) bCheckOut,Boolean bCheckin,Boolean suppressAfterEvents)at Microsoft.SharePoint.SPListItem.Update()at ASP._0443e3f9_0806_46ea_98ce_21e2d9f6c224_1904097461.btnDelete_Click(Object sender,EventArgs e)“ 请帮我如何根据folderId

从文档库中删除所有项目

1 个答案:

答案 0 :(得分:0)

尝试向后搜索集合:

for (int i = items.Count - 1; i >= 0; i--)
{
    SPListItem item = items[i];
    item.Delete();
}