Création d’un gestionnaire d’événements
Dernière modification : jeudi 8 avril 2010
S’applique à : SharePoint Foundation 2010
Pour créer un gestionnaire d’événements SharePoint Foundation dans Visual Studio, créez un projet de type « bibliothèque de classes », puis choisissez la classe de base de récepteur d’événements dont vous souhaitez hériter. Lorsque vous opérez cette sélection, assurez-vous que la classe de base de récepteur d’événements est appropriée pour l’événement que vous envisagez de capturer et pour l’hôte d’événements avec lequel vous envisagez d’établir la liaison.
Dans l’exemple de code ci-après, nous créons une définition de récepteur d’événements appelée ItemAdded qui utilise et substitue des méthodes sur la classe de base SPItemEventReceiver. Nous utilisons cette classe de base, car nous souhaitons capturer des événements qui sont déclenchés lorsque des éléments sont ajoutés à une liste. Si nous souhaitions plutôt capturer des événements au niveau d’un site Web, nous hériterions de la classe SPWebEventReceiver.
Important
Pour un tableau qui répertorie les événements SharePoint Foundation, les récepteurs d’événements appropriés pour chaque événement et les hôtes d’événements pouvant être liés à chacun des récepteurs, voir Tableau des événements, des récepteurs d’événements et des hôtes d’événements SharePoint.
Création d’une définition de récepteur d’événements
Après avoir créé votre projet, veillez à ajouter une instruction using Microsoft.SharePoint, en complément des instructions using par défaut de projet. Dans notre projet, nous créons l’espace de noms ERDefinition et déclarons une classe publique, ItemEvents, que nous héritons de SPItemEventReceiver.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace ERDefinition
{
public class ItemEvents : SPItemEventReceiver
...
Étant donné que notre exemple de récepteur d’événements doit détecter à quel moment des éléments sont ajoutés à une liste ou à une bibliothèque de documents, nous substituons la méthode ItemAdded(SPItemEventProperties) de la classe de base :
public override void ItemAdded(SPItemEventProperties properties)
Cette méthode prend une instance SPItemEventProperties qui fournit des informations sur les propriétés des éléments.
Comme vous pouvez le constater, le gestionnaire d’événements dans notre exemple réalise très peu d’opérations. Nous ajoutons simplement un horodatage au champ « Title » de l’élément de liste, puis nous appelons Update().
{
SPListItem item = properties.ListItem;
item["Title"] = item["Title"] + " - " + DateTime.Now;
item.Update();
}
La définition de récepteur d’événements étant à présent créée, nous devons lier le gestionnaire d’événements à l’hôte d’événements. Pour la suite de ce processus, voir Liaison d’un gestionnaire d’événements SharePoint Foundation.
Texte du code
Voici le texte complet du code pour l’illustration ci-dessus.
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();
}
}
}
Voir aussi
Tâches
Procédure : créer une fonctionnalité Gestionnaire d'événements
Concepts
Introduction aux événements dans SharePoint Foundation
Tableau des événements, des récepteurs d’événements et des hôtes d’événements SharePoint
Liaison d’un gestionnaire d’événements SharePoint Foundation