Поделиться через


Класс SPItemEventReceiver

Предоставляет методы для треппинга события, происходящие с элементами. Этот класс никогда не инициализируется.

Иерархия наследования

System.Object
  Microsoft.SharePoint.SPEventReceiverBase
    Microsoft.SharePoint.SPItemEventReceiver

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Class SPItemEventReceiver _
    Inherits SPEventReceiverBase
'Применение
Dim instance As SPItemEventReceiver
public class SPItemEventReceiver : SPEventReceiverBase

Замечания

Экземпляр этого класса не создается, но класс приемника событий элемента из пользовательский обработчик событий должен наследовать от этого класса и переопределить его методы для типов событий, которые обрабатываются.

Если элемент перемещен, он обрабатывается так же, как элемент, который был удален, а затем добавить.

для записи событий в документах гарантируется свойства Before и After , но Before свойства недоступны для записи событий для элементов списка.

Примеры

Следующий пример кода использует этот класс для добавления элемента к указанному списку объявлений вложение при добавлении в список.

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

Примечание

Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPItemEventReceiver

Пространство имен Microsoft.SharePoint