共享点-从回收中删除项目

时间:2018-08-28 08:19:47

标签: sharepoint

最近我遇到了以下情况:

  1. 在自定义列表中创建列表项
  2. 使用批处理删除过程将其删除(在删除之前,将UniqueId保留在某处)
  3. 物品进入回收站
  4. 我尝试了web.RecycleBin.Delete(ids)(我使用了第2步中的UniqueId)和错误System.ArgumentException:Microsoft.SharePoint.SPRecycleBinItemCollection.GetSortedIds(Guid [] ids,SPRecycleBinItemType []& itemTypes)
  5. 我尝试遍历回收站项目,并且所有已删除项目都没有步骤2中的UniqueId。此外,我尝试了SPRecycleBinItemCollection.GetItemById,但没有任何运气

我的问题是guid对web.RecycleBin.Delete的期望是什么?我使用了item.UniqueId,但我认为我错了

1 个答案:

答案 0 :(得分:0)

根据我的测试,您可以尝试以下代码。您可以将GUID存储在临时数组中。

using (SPSite site = new SPSite(strSiteUrl))//SPContext.Current.Site)
            {
                using (SPWeb web = site.OpenWeb())
                {

                    // Allow Unsafe Updates to prevent the cross site scripting
                    web.AllowUnsafeUpdates = true;

                    //// Get The SPList
                    SPList list = web.Lists["123"];
                    // Get the list items

                    SPListItem item = list.Items[0];
                    Guid strGuid = item.UniqueId;
                    item.Delete();

                    Guid[] guids = { strGuid };
                    web.RecycleBin.Delete(guids);
                }

            }

但是我建议您使用CSOM进行操作。