Регистрации событий
Дата последнего изменения: 24 марта 2010 г.
Применимо к: SharePoint Foundation 2010
Зарегистрируйте обработчики событий на уровне сайта или семейства сайтов, который будет использоваться для реализации фильтрации при ответе на события.
Элемент Receivers задает обработчик событий для событий элементов списка.
Элемент Synchronization (Event)
Пример
Чтобы зарегистрировать обработчик событий для событий списка, создайте в каталоге \Template\Features папку, которая будет содержать файл Feature.xml, задающий область и идентификатор компонента, и файл манифеста элементов, на который ссылается предыдущий файл.
Файл Feature.xml, регистрирующий обработчик событий, может иметь следующий вид.
<Feature
Scope="Web"
Title="Simple Updating Item Event Handler Registration"
Id="A6B8687A-3200-4b01-AD76-09E8D163FB9A"
xmlns="https://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml"/>
</ElementManifests>
</Feature>
Файл манифеста элементов регистрирует сборку обработчика событий и сопоставляет ее с типом списка, в следующем примере это будет список извещений (104).
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
<Receivers
ListTemplateId="104">
<Receiver>
<Name>SimpleUpdateEvent</Name>
<Type>ItemUpdating</Type>
<SequenceNumber>10000</SequenceNumber>
<Assembly>SimpleUpdateEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=10b23036c9b36d6d</Assembly>
<Class>MS.Samples.SimpleItemUpdateHandler</Class>
<Data></Data>
</Receiver>
</Receivers>
</Elements>
Файл CS для обработчика событий может использовать объектную модель SharePoint Foundation для ответа на события. Сведения об использовании объектной модели для создания настраиваемых обработчиков событий см. в статье События в SharePoint Foundation 2010.
В следующем примере определяется содержимое сообщения об ошибке, отображаемого при попытке пользователя изменить элементы списка.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace MS.Samples
{
public class SimpleItemUpdateHandler : SPItemEventReceiver
{
public override void ItemUpdating(SPItemEventProperties properties)
{
properties.Cancel = true;
properties.ErrorMessage = "Updating data is not supported.";
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SharePoint
Namespace MS.Samples
Public Class SimpleItemUpdateHandler
Inherits SPItemEventReceiver
Public Overrides Sub ItemUpdating(ByVal properties As SPItemEventProperties)
properties.Status = SPEventReceiverStatus.CancelWithError
properties.ErrorMessage = "Updating data is not supported."
End Sub
End Class
End Namespace
См. также
Задачи
Создание компонента обработчика событий