Como saber o id antigo do item na lixeira?
-
09-12-2019 - |
Pergunta
Eu preciso saber o id antigo do item na lixeira ou existe alguma forma de salvar a sua identificação neste item antes de o eliminar.Quando o item for excluído, um novo SPRecycleBinItem é criado na Lixeira.E guardadas apenas informações sobre old item é DirName.Mas eu preciso saber mais informações.
[EDITAR]
Eu ter resolvido esse problema.Há tanta propriedade como LeafName em SPRecycleBinItem, que é o mesmo como anterior na Identificação de SPListItem para os arquivos (não para pastas).Se SPListItem foi um arquivo e, em seguida, sua LeafName seria "id" + "_.000" depois de eliminar;Se SPListItem foi uma pasta e, em seguida, sua LeafName seria o Nome anterior de SPListItem.
Solução
Eu resolvi este problema.Há tal propriedade como Leafname no SprecyCleBinitem, que é o mesmo que o ID anterior no SplistItem para arquivos (não para pastas).Se o Splistitem foi um arquivo, o seu folheia seria "id" + "_.000" após a exclusão;Se o Splistitem era uma pasta, seu folheado seria o nome anterior do Splistitem.
Outras dicas
sprecyclebinitem.id não é o mesmo que deletediTem.uniqueid.Eu verifiquei isso.Então você não pode usá-los para identificar o item excluído na lixeira.Você pode terminar com DInname e Leafname, mas há pelo menos 3 casos diferentes: item é pasta, item é arquivo, item é item comum.
O SPRecycleBinItem tem o GUID exclusivo, que é o mesmo antes e após a exclusão.Portanto, você pode recuperá-lo usando o código abaixo:
SPRecycleBinItemCollection itemColl = web.GetRecycleBinItems(q);
foreach (SPRecycleBinItem item in itemColl)
{
Guid[] id = new Guid[1];
id[0] = item.ID; //Gets the GUID of the item.
}