SPItemEventReceiver-Klasse
Stellt Methoden zum Auffangen von Ereignissen, die auf Elemente auftreten. Diese Klasse wird nie instanziiert.
Vererbungshierarchie
System.Object
Microsoft.SharePoint.SPEventReceiverBase
Microsoft.SharePoint.SPItemEventReceiver
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Class SPItemEventReceiver _
Inherits SPEventReceiverBase
'Usage
Dim instance As SPItemEventReceiver
public class SPItemEventReceiver : SPEventReceiverBase
Hinweise
Diese Klasse ist nicht instanziiert jedoch die Ereignisempfängerklasse Element von einem benutzerdefinierten Ereignishandler muss von dieser Klasse ableiten und überschreiben Sie die Methoden für die Ereignistypen, die behandelt werden.
Wenn ein Element verschoben wird, wird es wie ein Element behandelt, die hinzugefügt und entfernt wurden.
Eigenschaften Before und After auf Ereignisse für Dokumente nach garantiert sind, aber Before Eigenschaften sind nicht verfügbar für Postbackereignisse für Listenelemente.
Beispiele
Im folgenden Codebeispiel verwendet diese Klasse zum Hinzufügen eines Elements zu einer angegebenen Ankündigungsliste Anlage eine Liste hinzugefügt wird.
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();
}
}
}
}
Imports System
Imports Microsoft.SharePoint
Namespace Example_Namespace
Public Class Class_Name
Inherits SPItemEventReceiver
Public Overrides Sub ItemAttachmentAdded(ByVal properties As SPItemEventProperties)
Using oSiteCollectionEvent As New SPSite(properties.SiteId)
Dim oSiteEvent As SPWeb = oSiteCollectionEvent.OpenWeb(properties.RelativeWebUrl)
Dim oItemsEvent As SPListItemCollection = oSiteEvent.Lists(properties.ListTitle).Items
End Using
Using oSiteCollection As New SPSite("http://Top_Site")
Dim oWebsite As SPWeb = oSiteCollection.OpenWeb("Website_Name")
Dim oList As SPList = oWebsite.Lists("Announcements")
Dim collListItems As SPListItemCollection = oList.Items
Dim oItem As SPListItem = collListItems.Add()
oItem("Title") = properties.UserDisplayName & " added an attachment to " & oItemsEvent(properties.ListItemId).Title & " in list " & properties.ListTitle & " at " & properties.WebUrl
oItem.Update()
End Using
End Sub
End Class
End Namespace
Hinweis
Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.