Создание обработчика событий
Дата последнего изменения: 8 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
Чтобы создать обработчик события SharePoint Foundation в Visual Studio, создайте новый проект библиотеки классов и класс с наследованием от одного из базовых классов приемников событий. При выборе базового класса приемника событий убедитесь, что базовый приемник событий подходит для соответствующего события и для узла событий, к которому требуется выполнить привязку.
В примере кода, указанном ниже, создается определение приемника событий с именем ItemAdded, которое использует и переопределяет методы в базовом классе SPItemEventReceiver. Данный базовый класс используется для перехвата событий, инициируемых при добавлении элементов в список. Если бы требовалось перехватывать события на уровне веб-сайта, нужно было бы выполнять наследование от класса SPWebEventReceiver.
Важно! |
---|
Таблицу , в которой указаны события SharePoint Foundation, приемники событий, подходящие для каждого события, и узлы событий, которые можно привязать к каждому приемнику событий, см. в статье Таблица событий, приемников событий и узлов событий SharePoint. |
Создание определения приемника событий
После создания проекта обязательно добавьте инструкцию using Microsoft.SharePoint в дополнение к стандартным инструкциям using проекта. В данном проекте создается пространство имен ERDefinition и объявляется открытый класс, ItemEvents, который наследуется от SPItemEventReceiver.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace ERDefinition
{
public class ItemEvents : SPItemEventReceiver
...
Приемник событий в примере должен обнаруживать, когда элементы добавляются в список или библиотеку документов, поэтому метод ItemAdded(SPItemEventProperties) базового класса переопределяется:
public override void ItemAdded(SPItemEventProperties properties)
Этот метод принимает экземпляр SPItemEventProperties, который предоставляет сведения о свойствах элементах.
Как видно, обработчик событий в примере выполняет не очень много действий. Он просто добавляет отметку с датой и временем в поле "Title", а затем вызывает метод Update().
{
SPListItem item = properties.ListItem;
item["Title"] = item["Title"] + " - " + DateTime.Now;
item.Update();
}
Теперь, после создания определения приемника событий, необходимо привязать обработчик событий к узлу событий. Продолжение этого процесса см. в разделе Привязка обработчика событий SharePoint Foundation.
Листинг программы
Далее представлен полный пример кода для выполнения описанных выше действий.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace ERDefinition
{
public class ItemEvents : SPItemEventReceiver
{
public override void ItemAdded(SPItemEventProperties properties)
{
SPListItem item = properties.ListItem;
item["Title"] = item["Title"] + " - " + DateTime.Now;
item.Update();
}
}
}
См. также
Задачи
Создание компонента обработчика событий
Концепции
Введение в события SharePoint Foundation
Таблица событий, приемников событий и узлов событий SharePoint