Pregunta

Necesito saber la identificación anterior del artículo en la papelera de reciclaje o hay alguna manera de guardar su identificación en este artículo antes de eliminarlo.Cuando se elimina un elemento, se crea un nuevo SPRecycleBinItem en la Papelera de reciclaje.Y la única información guardada sobre el elemento antiguo es DirName.Pero necesito saber más información.

¿Fue útil?

Solución

He resuelto este problema.Existe una propiedad como LeafName en SPRecycleBinItem, que es la misma que la Id anterior en SPListItem para archivos (no para carpetas).Si SPListItem fuera un archivo, entonces su LeafName sería "id" + "_.000" después de eliminarlo;Si SPListItem fuera una carpeta, entonces su LeafName sería el nombre anterior de SPListItem.

Otros consejos

Bueno, por supuesto, puedes guardar un ID de artículo en un receptor de eventos al eliminarlo y almacenarlo donde puedas relacionarlo con un artículo en la papelera de reciclaje.

Sin embargo, por lo que parece, creo que estás utilizando un ID de artículo como clave principal y ahora te has topado con el problema del cambio de ID.Usar la ID del elemento como clave es una muy mala idea, ya que cambiará al realizar la restauración a nivel de elemento a través de herramientas de respaldo, al reciclarlo y dependiendo de cómo lo use;con control de versiones.

TL;DR: Sí, puede usar un controlador de eventos para almacenar la identificación antes de reciclarla, pero usar la identificación para cualquier cosa es una muy mala idea.

Licenciado bajo: CC-BY-SA con atribución
scroll top