Creación de un controlador de eventos
Última modificación: jueves, 08 de abril de 2010
Hace referencia a: SharePoint Foundation 2010
Para crear un controlador de eventos de SharePoint Foundation en el Visual Studio, cree un nuevo proyecto de tipo "biblioteca de clases" y, a continuación, herede de una de las clases de base de receptor de eventos. Al seleccionar la clase de base de receptor de eventos desde la que se va a heredar, asegúrese de que la base de receptor de eventos es apropiada para el evento que desea capturar y para el host de eventos que desea enlazar.
En el siguiente ejemplo de código, se crea una definición de receptor de eventos denominada ItemAdded que usa e invalida métodos en la clase de base de SPItemEventReceiver. Usamos esta clase base porque queremos capturar los eventos que se producen cuando se agregan elementos a una lista. Si deseáramos capturar eventos en un nivel de sitio web, heredaríamos de la clase SPWebEventReceiver.
Importante |
---|
Para ver una tabla que muestra una lista de eventos de SharePoint Foundation, los receptores de eventos adecuados para cada evento y los hosts de eventos que se pueden enlazar a cada uno de los receptores, vea Tabla de eventos de SharePoint, receptores de eventos y hosts de evento. |
Creación de una definición de receptor de eventos
Después de crear el proyecto, asegúrese de agregar una instrucción de using Microsoft.SharePoint junto con las instrucciones de using predeterminadas del proyecto. En nuestro proyecto se crea el espacio de nombres ERDefinition y se declara una clase pública, ItemEvents, que se hereda de SPItemEventReceiver.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace ERDefinition
{
public class ItemEvents : SPItemEventReceiver
...
Nuestro receptor de eventos de ejemplo debería detectar cuándo se agregan elementos a una lista o biblioteca de documentos para invalidar el método ItemAdded(SPItemEventProperties) de la clase base:
public override void ItemAdded(SPItemEventProperties properties)
Este método toma una instancia de SPItemEventProperties que proporciona información acerca de las propiedades de los elementos.
El controlador de eventos de nuestro ejemplo hace muy poco, como puede verse. Simplemente anexamos una marca de fecha y hora al campo "Título" del elemento de lista y, a continuación, llamamos a Update().
{
SPListItem item = properties.ListItem;
item["Title"] = item["Title"] + " - " + DateTime.Now;
item.Update();
}
Ahora que hemos creado la definición de receptor de eventos, debemos enlazar el controlador de eventos al host de eventos. Vea la continuación de este proceso en Enlace de un controlador de eventos de SharePoint Foundation.
Lista de códigos
A continuación se incluye la lista de códigos completa correspondiente a la ilustración anterior.
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();
}
}
}
Vea también
Tareas
Procedimiento para crear una característica de controlador de eventos
Conceptos
Introducción a eventos en SharePoint Foundation
Tabla de eventos de SharePoint, receptores de eventos y hosts de evento
Enlace de un controlador de eventos de SharePoint Foundation