As we all know, event receivers
are a great way to hook into various SharePoint events. These can apply
to Feature events such as FeatureActivated, List events such as FieldAdded, and
many others.When working with events, you’ll quickly find that before
(synchronous) and after (asynchronous) events exist, and the method suffix such
as “ing” (e.g. ItemAdding) and “ed” (e.g. ItemAdded) will tell you whether it
gets invoked before or after the actual change is made.
Event receivers are common in SharePoint development so its better to understand the data available in each events. Sometimes as a developer we jump into coding before thinking about contextual data availability.One more important thing to notice list event receiver and document library event receiver are different interns of contextual data availability.Following Table will give you a clear picture about the contextual data in each events.
SharePointList
SharePointDocument Library
Event receivers are common in SharePoint development so its better to understand the data available in each events. Sometimes as a developer we jump into coding before thinking about contextual data availability.One more important thing to notice list event receiver and document library event receiver are different interns of contextual data availability.Following Table will give you a clear picture about the contextual data in each events.
SharePointList
Event
|
BeforeProperties
|
AfterProperties
|
ListItem
|
ItemAdding
|
Null
|
New Value
|
Null
|
ItemAdded
|
Null
|
New Value
|
New Value
|
ItemUpdating
|
Null
|
Changed Value
|
Original Value
|
ItemUpdated
|
Null
|
Changed Value
|
Changed Value
|
ItemDeleting
|
Null
|
Null
|
Original Value
|
ItemDeleted
|
Null
|
Null
|
Null
|
SharePointDocument Library
Event
|
BeforeProperties
|
AfterProperties
|
ListItem
|
ItemAdding
|
Null
|
Null
|
Null
|
ItemAdded
|
Null
|
Null
|
New Value
|
ItemUpdating
|
Original Value
|
Changed Value
|
Original Value
|
ItemUpdated
|
Original Value
|
Changed Value
|
Changed Value
|
ItemDeleting
|
Null
|
Null
|
Original Value
|
ItemDeleted
|
Null
|
Null
|
Null
|
I hope this
post gives you a better idea of how before and after events work for both lists
and libraries.