#sharepoint-2007
#sharepoint-2007
Вопрос:
- Я хочу удалить элементы библиотеки документов с помощью кода.
- Предположим, что библиотека Doc имеет один столбец folderId.
- Я хочу удалить все элементы с идентификатором папки 33.
Я пытаюсь удалить его с помощью кода, но удаляется только первое появление с идентификатором папки 33.
Когда я пытаюсь удалить второе вхождение, возникает следующее исключение:
«Microsoft.SharePoint.Исключение: Элемент не существует. Возможно, он был удален другим пользователем. в Microsoft.SharePoint.Разделительный элемент.EnsureItemIsValid() в Microsoft.SharePoint.Разделительный элемент.Подготовьте элемент для обновления (Guid newGuidOnAdd, SPWeb web, логическую миграцию, Booleanamp; bAdd, Booleanamp; bPublish, Object amp; objAttachmentNames, Objectamp; objAttachmentContents, Int32 и parentFolderId) в Microsoft.SharePoint.Разделительный элемент.Обновление внутреннего (Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents) в Microsoft.SharePoint.Разделительный элемент.Update () в ASP._0443e3f9_0806_46ea_98ce_21e2d9f6c224_1904097461.btnDelete_Click(отправитель объекта, EventArgs e) » Пожалуйста, помогите мне, как удалить все элементы из библиотеки документов в соответствии с идентификатором папки
Ответ №1:
Попробуйте просмотреть коллекцию в обратном порядке:
for (int i = items.Count - 1; i >= 0; i--)
{
SPListItem item = items[i];
item.Delete();
}