For the scenario when you are the one triggering the second ItemUpdating
by changing item values you can use the EventFiringEnabled
parameter (you should use a try - catch -finally
around it):
this.EventFiringEnabled = false;
// Do the changes
item.Update();
this.EventFiringEnabled = true;
The other scenario is tougher, and the reason behind why I use ItemUpdated
instead when ever possible!
You could check the BeforeProperties
, ListItem
and AfterProperties
in your ItemUpdating
event receiver to check if there is updates being made that you have to take action on. If not, then just return
.
Here is a guide for when you can use .BeforeProperties
and when you should go in the .ListItem
instead