Itemupdating event handler sharepoint 2016
Today I was troubleshooting a customer farm where Managed Metadata would remain empty in Share Point, even though it was filled in correctly in the document’s Document Information Panel.
Digging through the internal XML structures of the DOCX and also the Content Type Schema and Field XML, I couldn’t find a reasonable explanation.
Here’s a blog post on it: is different from Share Point 2007 as far as I recall. This blog post by Keith Richie mentions a solution for SPWeb. A lesser known trick to make use of the Http Context in asynchronous Event Receivers in Share Point 2007 or Share Point 2010 is to define a constructor on the Event Receiver class that assigns the Http Context to an internal or private member variable.
Next you can access it from the method overrides for handling events.
After completing our updates, we need to toggle back the property.
As long as we are in to Share Point 2013 development, we would have come up with the Event Receivers.
A look at the Item Xml confirmed this: I didn’t want to script an update to all files (because that would trigger Event Receivers) so I avoided querying those properties directly and instead created an extension method to get those values through the SPList Item: There were a lot of Event Receivers in the custom solution so I didn’t take this path, mainly because I noticed in Share Point 2010 the SPList Item.
System Update() method will also trigger Event Receivers.
Also not sure why the Event Receivers were missing in the first place.
It could be because some “questionable” actions happened during the setup of the site, but it could as well be a bug in Share Point 2010 RTM or later.