When this column set to False, we'll have to break the inheritance and remove the visitors group from the Item's permissions.Lets build a Event Receiver to set Item level permissions based on the field in the Library.

object will be used for both the updating and updated events, and that instance won't be reused in the context of a separate update. To String() since it converts nulls to empty strings. At that point you will not have Before Properties to compare to.

Note: - The list I am attaching this to does NOT have version history turned on.

In detail, I have a list which has an Item Updated Event Receiver (Custom one, which developed by the developer).

On the event receiver, we are trying to update some of the columns based on the entered column value.

For example when a user adds a document to a document library first event triggers is Item Added when document is added to list, whereas second event occurs when user is forwarded to /Forms/Edit Form.aspx? You can prevent it by checking if added item is changed after being added to library/list or not using SPItem Event Properties.

I want to trigger a workflow only when a value is updated in a list item, but not everytime the item is changed.

Recently a simple requirement came up: “Redirect the user to the view-form of an item after he creates a new item”. Redirect(" // Will NOT abort the thread but the redirection is ignored _current Context.

The default behavior of Share Point is to redirect the user to the url defined by the // Will abort the thread _current Context.

To avoid this, we can disable the event firing before updating the List Item on the Event Receiver.

After completing our updates, we need to toggle back the property.

Martin's solution is very straightforward but you can also expand on this by using content types to allow for an approval process that performs another action.