Provides methods for trapping events that occur to items. This class is never instantiated.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in microsoft.sharepoint.dll)
'Usage
Dim instance As SPItemEventReceiver
'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel:=True)> _
Public Class SPItemEventReceiver
Inherits SPEventReceiverBase
The SPItemEventReceiver class is not instantiated but the item event receiver class of a custom event handler must derive from this class and override its methods for the event types that are handled.
If an item is moved, it is treated in the same way as an item that has been removed and then added.
Before and After properties are guaranteed for post events on documents, but Before properties are not available for post events on list items.
The following code example uses the SPItemEventReceiver class to add an item to a specified Announcements list whenever an attachment is added to a list.
using System;
using Microsoft.SharePoint;
namespace Example_Namespace
{
public class Class_Name : SPItemEventReceiver
{
public override void ItemAttachmentAdded(SPItemEventProperties properties)
{
using(SPSite oSiteCollectionEvent = new SPSite(properties.SiteId))
{
SPWeb oSiteEvent = oSiteCollectionEvent.OpenWeb(properties.RelativeWebUrl);
SPListItemCollection oItemsEvent = oSiteEvent.Lists[properties.ListTitle].Items;
}
using(SPSite oSiteCollection = new SPSite("http://Top_Site"))
{
SPWeb oWebsite = oSiteCollection.OpenWeb("Website_Name");
SPList oList = oWebsite.Lists["Announcements"];
SPListItemCollection collListItems = oList.Items;
SPListItem oItem = collListItems.Add();
oItem["Title"] = properties.UserDisplayName + " added an attachment to " + oItemsEvent[properties.ListItemId].Title + " in list " + properties.ListTitle + " at " + properties.WebUrl;
oItem.Update();
}
}
}
}
System.Object
Microsoft.SharePoint.SPEventReceiverBase
Microsoft.SharePoint.SPItemEventReceiver
Microsoft.SharePoint.Workflow.SPWorkflowLibraryEventReceiver
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.