Skip to main content

The ItemUpdating event or the ItemUpdated event occurs two times

Hi,
i've encountred a strage behavior when i was using an event receiver to a document in a sharepoint library.
The ItemUpdated fired twice when i upload a new document and i save its metadata.
Microsoft said that :

"By design, SharePoint  works in this manner. When you check out a document in a document library, a local copy of that document is created. Changes that you make to that document are saved to the local copy. When you check in the document, the operation occurs in two separate steps. The local copy is first saved to the server. This save operation occurs even if you do not make any changes to the document. Then, a separate request is performed to check in the document. Therefore, the ItemUpdating event or the ItemUpdated event occurs two times."

But i didn't activate versionning on this document librar. I found in the microsoft KB a note tolding that it can occurs if a required field is installed in the library.

So i made all the required field as unrequired and my ItemUpdated was triggered only once.

For more explanation see the kb article : KB

Comments

Popular posts from this blog

Updating SPListItem without triggering event receivers

I had an event receiver applied on documents wich can start, programatically of course, a workflow. In this workflow, i used to update some metadatas in my document item. However that triggers the event receiver a new time and you can imagine the infinate loop. Well! afeter googling i found that it is possible to diable the event firing just before the item.Update or the item.SystemUpdate. In first time i used this method but i didn't made my code in a try catch bloc. After doing that my workflow runs normally and it didn't fires the events in the event receiver. Here is the code : public static class SPListItemExtensions { /// /// Provides ability to update list item without firing event receiver. /// /// /// Disables firing  /// event receiver while updating item. public static void Update ( this SPListItem item , bool doNotFireEvents ) {     SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling ();     if ( doNotFireEven...

Printing ASPX HTML Forms

Here is the way to print a part of a HTML, ASPX Form    This is the content in the page to print <script language=JavaScript> <!-- function printPartOfPage(elementId) {  var printContent = document.getElementById(elementId);  var windowUrl = 'about:blank';  var uniqueName = new Date();  var windowName = 'Print' + uniqueName.getTime();  var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');  printWindow.document.write(printContent.innerHTML);  printWindow.document.close();  printWindow.focus();  printWindow.print();  printWindow.close(); } // --> </script> <div id="printDiv">  This is the content in the page to print </div> ////////////////////////// // To fire the event: ////////////////////////// <input type="button" value="Print" onclick="JavaScript:printPartOfPage('printDiv');" >

SharePoint Saturday France le 6 Nov. 2010

Rejoignez les architectes, les développeurs, les administrateurs, designers et autres professionnels qui travaillent avec SharePoint Server 2007 et SharePoint 2010 le 6 novembre 2010 pour un événement SharePoint exceptionnel. Les évènements SharePoint Saturday France sont des journées en libre accès, éducative, informative et animée, remplie de sessions de professionnels & MVPs reconnus pour leurs compétences et heureux de pouvoir partager leur expérience. Suivez-nous sur Twitter @clubsharepoint ou chacun des évènements sur le tag #SPSFrance. http://www.sharepointsaturday.com/france Facebook | SharePoint Saturday France