Monday 26 November 2012

Add Event Handler Feature in Sharepoint

This example simply shows how to handle delete item event of list in share point.




Create the event handler in visual studio
  1. Create a new project in Visual Studio by clicking File, pointing to New, and then clicking Project.
  2. In the New Project dialog box, select Visual C# in theProject types box, select Class Library in theTemplates box, type DeletingEventHandler in theName box, and then click OK.
  3. In Solution Explorer, select DeletingEventHandler, and click Add Reference on the Project menu.
  4. In the Add Reference dialog box, selectMicrosoft.SharePoint on the .NET tab and then clickOK.
  5. Add the following code within the class to override theItemDeleting method.
public override void ItemDeleting(SPItemEventProperties properties)
{
properties.Cancel = true;
properties.ErrorMessage = "You can not delete item from " + 
properties.RelativeWebUrl;
}

6. In Solution Explorer, right-click the DeletingEventHandlernode, and then click
Properties.

7. In the Properties dialog box, click the Signing tab, selectSign the asembly, select
Choose a strong name key file, and then click .

8. In the Create Strong Name Key dialog box, typeDeletingEventHandler.snk in the
Key file name box, optionally specify a password for the key, and then click OK.

9. Build the project.

10. Find the \DeletingEventHandler\bin\Debug folder in the Visual Studio Projects folder, and
drag the DeletingEventHandler.dll file toLocal_Drive:\WINDOWS\assembly to place the
DLL in the global assembly cache.


To Add Event handler as a windows share point services feature
  1. Create a folder in Local_Drive:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES calledDeletingEventHandler.
  2. Create a Feature.xml file in this folder like the following that identifies the Feature and its element manifest file and sets the Feature scope to Web site.
    Xml
    GUID">
    xmlns="http://schemas.microsoft.com/sharepoint/">
    
       
    
  3. To replace the GUID placeholder in the previous Idattribute, generate a GUID by running guidgen.exe located in Local_Drive:\Program Files\Microsoft Visual Studio 8.
  4. Create an Elements.xml file in the DeletingEventHandler folder that identifies the assembly, class, and method to implement as the event handler. This example applies the event handler to all announcements lists of a site, as specified by the ListTemplateId attribute. For the IDs of other default Windows SharePoint Services list template types, see the Type attribute description of theListTemplate element.
    Xml
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Receivers ListTemplateId="104">
       <Receiver>
          <Name>DeletingEventHandlerName>
          <Type>ItemDeletingType>
          <SequenceNumber>10000SequenceNumber>
          <Assembly>DeletingEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a26b5449ac4a4cf3Assembly>
          <Class>DeletingEventHandler.DeletingActionClass>
          <Data>Data>
          <Filter>Filter>
       Receiver>
    Receivers>
    Elements>
  5. To get the Public Key Token of the assembly, in Windows Explorer find the DeletingEventHandler.dll file in theLocal_Drive:\WINDOWS\assembly, right-click the file, clickProperties, and on the General tab of the Propertiesdialog box, select and copy the token.
  6. At a command prompt, navigate to \Program Files\Common Files\Microsoft Shared\web server extensions\12\BINon the local drive, and type each of the following commands to install the Feature in the deployment, activate the Feature on a specified subsite, and reset Microsoft Internet Information Services (IIS) so that the changes take effect:
    stsadm -o installfeature -filename DeletingEventHandler\Feature.xml
    
    stsadm -o activatefeature -filename DeletingEventHandler\Feature.xml -url http://Server/Site/Subsite
    
    iisreset
  7. Try to delete an item in an announcements list on the specified Web site to see the effects of the event handler Feature

Reference - http://msdn.microsoft.com/

Share This!


No comments:

Post a Comment

Translate

Total Pageviews

Powered By Blogger · Designed By Seo Blogger Templates