Monday, November 12, 2012

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

Event

BeforeProperties

AfterProperties

ListItem

ItemAdding

Null

NewValue

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.