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

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...

The Fastest way to Export Schema of Sharepoint List

Many of my SharePoint Developer friends are struggling to get the Schema.xml file of a newly created list. The schema.xml file has the list's metadata information, by using the schema.xml, we can create the lis definition and paste this contents of Schema.xml to the Schema.xml file of the newly created List definition, so that you can deploy the list definition on another site. In order to do this, you guys might be following the procedure bu saving the site template and get the site definition solution. After this, you will open visual studio and import this solution and wait for few minutes. THIS IS A CRAPPY PROCEDURE..Why do you invest your time to get a schema of one or few list  by taking entire site definition?..If that site has lots of lists, then it will take lots of time. In my Research, i have found a the BEST  and quicker way to get schema.xml file of a particular list which you need Schema.xml. Follow the following procedure : Go to your site  click ...