I am sick of having to hunt down the link to Synergy’s post on the BeforeProperties and AfterProperties available in different events on SPListItems. For my reference, here it is:
List:
| List | BeforeProperties | AfterProperties | properties.ListItem |
| ItemAdding | No value | New value | Null |
| ItemAdded | No value | New value | New value |
| ItemUpdating | No value | Changed value | Original value |
| ItemUpdated | No value | Changed value | Changed value |
| ItemDeleting | No value | No value | Original value |
| ItemDeleted | No value | No value | Null |
Document Library:
| Library | BeforeProperties | AfterProperties | properties.ListItem |
| ItemAdding | No value | No value | Null |
| ItemAdded | No value | No value | New value |
| ItemUpdating | Original value | Changed value | Original value |
| ItemUpdated | Original value | Changed value | Changed value |
| ItemDeleting | No value | No value | Original value |
| ItemDeleted | No value | No value | Null |
Note: Allegedly, this does change if the event receiver is synchronous – the before properties are available. I’ve not checked this out yet.
Obviously, for SharePoint 2007 systems that doesn’t apply – as ‘*ed’ event receivers are always asynchronous.
