Cet article s’adresse à des développeurs expérimentés de SharePoint 2010.
Je pars donc du principe que vous savez ce qu’est un Event Receiver et que vous savez aussi qu’il y a la possibilité pour des ER d’éléments (Item) de voir les propriétés de l’éléments telles qu’elles étaient avant et après la modification de l’utilisateur.
Vous savez surement aussi que lors d’évènement synchrones vous pouvez modifier à la volée les propriétés (dans le cas d’un traitement, d’un contrôle ou autre) en utilisant properties.AfterProperties. (Notamment au cours d’un évènement ItemUpdating par exemple)
https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventproperties.afterproperties.aspx voici la documentation de Microsoft sur le sujet, elle est très explicite.
Voici un article plus complet sur le sujet qui explique quand ces propriétés sont disponibles et comment les utiliser.
https://www.synergyonline.com/Blog/Lists/Posts/Post.aspx?ID=122
Je tenais à apporter quelques précisions sur le sujet qui m’ont fait perdre quelques heures aujourd’hui.
Premièrement ces propriétés (afterproperties et beforeproperties) sont des hastables uniquement sous forme de clef valeur :
La clef est le DISPLAY NAME (et pas l’internal name, guid ou autre, pratique… surtout quand on s’appuie sur des pages de configuration)
Ensuite la valeur doit obligatoirement être en string (et castée en string lorsque vous affectez l’objet à valeur la ligne de la hashtable), et sur un format bien précis en fonction des types de données (on en parle un peu ici par exemple pour les dates https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventproperties.afterproperties.aspx#CommunityContent )
Enfin dernière précision, le base.ItemUpdating doit être à la fin de tous vos traitements, c’est lui qui enregistre.
En espérant que ça vous fera gagner du temps.