BeforeProperties und AfterProperties bei verschiedenen Ereignissen

Dieser Beitrag soll nicht zeigen, wie man EventReceiver für SharePoint-Listen und –Bibliotheken entwickelt. Dafür gibt es meiner Meinung nach bereits ausreichend Anleitungen (z.B. hier von Microsoft). Hier soll gezeigt werden, wie sich die BeforeProperties und AfterProperties bei verschiedenen Ereignissen verhalten.

Es geht hier auch nur um die verschiedenen Ereignisse rund um Listenelemente. SharePoint bietet weit mehr Ereignisse, die von eigenem Programmcode behandelt werden können, z.B. für Listen und für Webs.

Um Ereignisse eines Listenelements behandeln zu können, schreibt man eine Klasse, die von SPItemEventReceiver abgeleitet ist und überschreibt dort die angebotenen Methoden der Basisklasse. All diese Methoden erhalten einen Parameter vom Typ SPItemEventProperties. Über diesen Parameter lassen sich sehr viele nützliche Dinge über die Umgebung herausfinden wie z.B. die GUID der Liste, in der das Ereignis auftrat und die ID des Elements, das das Ereignis ausgelöst hat. Mit Hilfe der BeforeProperties und AfterProperties läßt sich herausfinden, welches Feld oder welche Felder des Elements sich geändert haben. Außerdem gibt es eine Eigenschaft ListItem, die Zugriff auf das zugehörige Listenelement liefert.

Leider sind diese Eigenschaften der SPItemEventProperties in den verschiedenen Ereignissen unterschiedlich belegt und obendrein unterscheiden sie sich auch noch zwischen Listen und Bibliotheken. Um einen Überblick zu schaffen und etwas zum Nachschlagen zu haben, habe ich diese Liste zusammengestellt, die die unterschiedlichen Werte von ListItem, BeforeProperties und AfterProperties bei unterschiedlichen Ereignissen gegenüberstellt.

So verhält es sich bei Listen:

Ereignis

ListItem

BeforeProperties

AfterProperties

ItemAdding

 null leer  neue Werte 

ItemAdded

neue Werte   leer  neue Werte

ItemUpdating

 alte Werte  leer  neue Werte

ItemUpdated

 neue Werte  leer  neue Werte

ItemDeleting

 allte Werte  leer  leer

ItemDeleted

 null  leer  leer

 

So verhält es sich bei Bibliotheken:

Ereignis

ListItem

BeforeProperties

AfterProperties

ItemAdding

null  leer  leer 

ItemAdded

 neue Werte  leer  leer

ItemUpdating

 alte Werte  alte Werte  neue Werte

ItemUpdated

 neue Werte  alte Werte  neue Werte

ItemDeleting

 alte Werte  leer  leer

ItemDeleted

 null  leer  leer

2 Gedanken zu “BeforeProperties und AfterProperties bei verschiedenen Ereignissen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s