Как узнать старый идентификатор элемента в корзине?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/38823

  •  09-12-2019
  •  | 
  •  

Вопрос

Мне нужно знать старый идентификатор элемента в корзине или есть какой-либо способ сохранить его идентификатор в этом элементе перед удалением.Когда элемент удаляется, в корзине создается новый SPRecycleBinItem.И единственная сохраненная информация о старом элементе - это DirName.Но мне нужно знать больше информации.

Это было полезно?

Решение

Я решил эту проблему.В SPRecycleBinItem есть такое свойство, как LeafName, которое совпадает с более ранним идентификатором в SPListItem для файлов (не для папок).Если бы SPListItem был файлом, то его конечное имя было бы "id" + "_.000" после удаления;Если бы SPListItem был папкой, то ее конечным именем было бы более раннее имя SPListItem.

Другие советы

Ну, вы, конечно, можете сохранить идентификатор элемента в приемнике событий при его удалении и сохранить его там, где вы сможете связать его с элементом в корзине.

Однако, судя по всему, я думаю, что вы используете идентификатор элемента в качестве первичного ключа и теперь столкнулись с проблемой изменения идентификатора.Использование идентификатора элемента в качестве ключа - очень плохая идея, так как он изменится при восстановлении на уровне элемента с помощью инструментов резервного копирования, при его утилизации и в зависимости от того, как вы его используете;с контролем версий.

TL;DR - Да, вы можете использовать обработчик событий для сохранения идентификатора перед повторной обработкой, но использовать идентификатор для чего-либо - действительно плохая идея.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top