I'm unable to get properties.AfterProperties and properties.BeforeProperties.

 public override void ItemUpdating(SPItemEventProperties properties)

I've tried on ItemUpdated and ItemUpdating.

I can get to "Before" by using the SPItem, but I can't get the AfterProperties or "New Values"

The ONLY place I can find "New Values" is in VS2013 debug:

  • properties {Microsoft.SharePoint.SPItemEventProperties} + base {Microsoft.SharePoint.SPItemEventProperties}

  • AfterProperties {Microsoft.SharePoint.SPItemEventDataCollection} + ChangedProperties Count = 0 System.Collections.Hashtable

  • Results View Expanding the Results View will enumerate the IEnumerable

[0] {System.Collections.DictionaryEntry} Key "vti_title" object {string} Value "xx" object {string}

I've changed the Synchronization to Sync and Async with no change.

I have code from SharePoint 2010 that works, but doesn't work in 2013.

Both the AfterUrl and BeforeUrl are retrievable.

  • Did you ever resolve this question? I've got a similar issue where itemupdating was working in SP2010, however it's firing in SP2013 but the values don't change. i.e. I change the name in a list item and then it's still got the old value when saved. The event fires and I'm calling base.ItemUpdating(properties); as I'm inheriting from the SPItemEventReceiver class.
    – user41616
    Apr 21, 2015 at 10:16

1 Answer 1


BeforeProperties have values only ItemUpdating and ItemUpdated for Document library (not for lists).

AfterProperties have values only if you really change the value for that fields. If you don't, you'll obtain a collection of 0 items.

Have you changed the Elements.xml file, while changing ItemUpdated / ItemUpdating in your code?

Hope this help..

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.