Frage

Ich möchte ein Element aus der Liste in SharePoint in eine andere Liste verschieben / ausschneiden.Ich kann das Element in eine Liste kopieren und das Original löschen.Leider ist die Versionsgeschichte verloren gegangen.

Ich möchte eine Möglichkeit haben, ein Element von einer Liste in eine andere zu kopieren und den Verlauf zu pflegen.Ich habe darüber nachgedacht, das zu benutzen SPExportObject und SPImportObject.

Ich habe den folgenden Code, um ein Listenelement als zu erstellen SPExportObject.

SPExportObject exportObject = new SPExportObject();
exportObject.Id = listItem.UniqueId;
exportObject.Type = SPDeploymentObjectType.ListItem;

Ich bin nicht sicher, wie ich jetzt exportObject in meine andere Liste importieren kann.

Beide Listen sind vom gleichen Typ.

War es hilfreich?

Lösung

SPExportObject/SPImportObject kann verwendet werden, um das Listenelement zu migrieren, aber nur das Problem, das Sie benötigen kümmern ist, wenn Sie ein Element aus einer Datenbank exportieren (z.eine Liste), ohne das übergeordnete Element zu exportieren, wird das exportierte Element im Paket verwaist.Ein Paket kann mehrere verschiedene verwaiste Objekte enthalten (z.b. wenn Sie mehrere verschiedene Listen oder Listenelemente exportieren).

Eine Importmethode ermöglicht es uns jedoch, für jedes verwaiste Objekt im Exportpaket ein neues übergeordnetes Objekt zu definieren.In diesem Beispiel erfahren Sie mehr über die Handhabung der übergeordneten Elemente von Listenelementen: Mithilfe der APIs für die Inhaltsbereitstellung werden Listenelemente dupliziert, wenn Dokumente nicht vorhanden sind

Es ist wichtig sich daran zu erinnern, dass zwei wichtige Einstellungen erforderlich sind, damit dies funktioniert:

Web-Url - diese Eigenschaft definiert das Web, das als neues übergeordnetes Element für alle verwaisten Objekte im Exportpaket verwendet wird.Diese Methode kann (z. B.) nicht verwendet werden, wenn das Paket verwaiste Dokumente enthält, da ein Web nicht das übergeordnete Element eines Dokuments sein kann.Das übergeordnete Element eines Dokuments muss eine Liste oder ein Ordner sein.

Objektidentität beibehalten - dies definiert, ob die Objektidentität während des Imports beibehalten werden soll oder ob die Identität nicht beibehalten werden soll.Wenn der Wert false ist, erhalten die Objekte beim Import eine neu generierte Guid und es ist möglich, den importierten verwaisten Objekten ein neues übergeordnetes Objekt zuzuweisen.

Stefan von Microsoft hat einen wirklich guten Walkthrough mit der Content Migration API

Sehen Teil 2 und Teil 3 für detailliertere Einblicke

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top