Skip to main content

Event Receiver for SharePoint list item


Before writing event receiver, you should have the Sharepoint list for which you are going to write the event receiver.If you have long term goal of creating multiple event receiver for lists, maintain a folder for these event receiver.
1.       Create a folder EventReceiver
2.       Right click on the folder EventReceiveràSelect Add optionàSelect New Item option



              3.       On the opened window, select the  Visual C#-->Sharepoint 2010 and now select the Event Receiver Template


           In the Name textbox which is  present below,Give the LISTNAMEEventReceiver. i.e suppose you are going write event receiver for ActionTracker list, then the event receiver’s name would be ActionTrackerEventReceiver
After entering the name , click on Add button.
            4.Wait for some time to connect to your local server




          


5. On the opened window, Select the List Item Events option from the dropdown of ‘What type of event receiver do you want?’ and select the list definition name to which you are going to write event receiver. For example here I have chosen ActionDefinition. Action is the Sharepoint list suffixed with the word Definition from the dropdown of ‘What item should be the event source’





6.  Now choose the options in the Handle the following Events. Suppose you want to do some basic operation like,
What you want to do if an item deletion, item addition, item updating?
Here you need to choose each event logically.
·         Suppose ,in simple english we say if the item is added then I want to perform some action
Simple thing is, logically we need to think that, it is ‘ITEM WAS Added’(after the item is added)..So you need to choose Item was added event type. Because you can perform some action after the item is added, so that you will get object after addition of item

·         Suppose, in simple english we say if the item is updated, I want to perform some action
Simple thing is , logically we need to think that, it is ‘ITEM WAS UPDATED’( after updating the item).
So you need to choose Item was updated event type. Because you can perform some action after the item is getting updated. , so that you will get object after updating the  item.

·         Suppose, in simple english  we say if the item is deleted , then I want to purpose some action. Here you should technically and logically understand some thing about the current event. If you choose the event type as Item was deleted , then you will lost the object reference itself , so that you can not perform any actions. So you need to choose Item is being deleted event type, so that you will get the object reference of item which is being deleted

There are many event types which you can choose as per the requirements.Now click on the Finish button


















7.       An Event receiver C# file will be opened for you to write the further logic. It will have 3 overridden methods which  are for An Item is being deleted,An Item was Added, An Item was Updated















Since you are going to write event receiver on items, you need to get the SPListItem object
    public override void ItemDeleting(SPItemEventProperties properties)
       {
           
         SPListItem item=properties.ListItem;
         UpdateSomethingDeleted(item,properties.web);
       }

          public override void ItemAdded(SPItemEventProperties properties)
       {
           SPListItem item=properties.ListItem;
         UpdateSomethingAdded(item,properties.web);
       }

         public override void ItemUpdated(SPItemEventProperties properties)
       {
           SPListItem item=properties.ListItem;
         UpdateSomethingUpdate(item,properties.web);
       }
        
In all the three methods we are trying to do some thing by getting the SPListeItem object

 8.       Now you need to add this event receiver file to the Feature  where the corresponding list is also present in the same feature,so that it will be available on the site level. On double clicking on the event receiver’s name which is present on left side , it will move to the right hand side so that , now you have added the event receiver to the feature


Hope this may help someone

Pradeepa Achar


Comments

Popular posts from this blog

error occurred in deployment step 'recycle iis application pool' :object reference not set to an instance of an object

While deploying using Visual studio, we may get an error "error occurred in deployment step 'recycle iis application pool' :object reference not set to an instance of an object" Solution:  Don't get  panic ..Simply restart the visual studio with the solution which you wanted to deploy on to the site This may help some one. -cheers pradeepa achar

“An exception of type Microsoft.SharePoint.Upgrade.SPUpgradeException was thrown. Additional exception information: Failed to call GetTypes on assembly Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.”

While running the product configuration wizard of Sharepoint foundation 2010, if you have come across the following error “ An exception of type Microsoft.SharePoint.Upgrade.SPUpgradeException was thrown. Additional exception information: Failed to call GetTypes on assembly Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.” Here is the solution to overcome the issue,. Open the SQL server configuration manager.Select the SQL Server Network Configuration and select the Protocols for MSSQLSERVER. Make sure that TCP/IP protocol is enabled. If it is disabled, make it enable by right clicking on the TCP/IP ,Click on Enable option. Hope ...

The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator

You might have developed a functionality where data is being saved in a SharePoint list. By the time you developed this functionality it was working fine.As users adds the data , some day your functionality doesn't work. That means, the data which is present in the list is not being retrieved. Don't be panic. Just open the LOG file which is present in 14 hive folder. You will come to know about this bug with the statement -"The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator". Now what you have to do is, go to central administration site.  1.Click on Manage web application 2.Select the web application on which your sitecollection is created. 3.Click on General settings and select Resource throttling 4.by default list view threshold would be 5000. your list might have data more than 5000. So , increase the number to required threshold limit. you can make it 10000, 20000 like this. Do a i...