Partager via


Exemple : création d’un gestionnaire d’événements Élément de liste

Dernière modification : vendredi 9 avril 2010

S’applique à : SharePoint Foundation 2010

L'exemple suivant présente les étapes de base permettant de créer un gestionnaire d'événements. Dans cet exemple, le gestionnaire d'événements exécute le code avant qu'un élément de liste soit supprimé ou ajouté. L'exemple fonctionne sur les listes d'annonce, l'ajout de texte dans le corps de nouveaux éléments et l'annulation tente de supprimer des éléments existants.

Vous créez un assembly de gestionnaire d’événements dans Microsoft Visual Studio en créant une bibliothèque de classes. Vous ajoutez la référence à Microsoft.SharePoint.SPItemEventReceiver et héritez de la classe de base, comme illustré dans l’exemple suivant.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace MyEventHandlers

{
    public class SimpleEventHandler : SPItemEventReceiver
    {
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SharePoint

Namespace MyEventHandlers

    Public Class SimpleEventHandler
        Inherits SPItemEventReceiver
    End Class
End Namespace

Un objet de votre classe est instancié lorsque des actions se produisent à l’intérieur de la liste. En tant que développeur, vous substituez les méthodes de la classe de base pour les événements que vous souhaitez gérer. Les méthodes de la classe SPItemEventReceiver que vous pouvez substituer sont les suivantes :

L’exemple substitue deux méthodes : ItemDeleting et ItemAdded. N’oubliez pas que le suffixe « -ing » indique que l’événement est géré de manière synchrone avant que l’action ne se produise, tandis que le suffixe « -ed » indique que l’événement est géré de manière asynchrone après, une fois que l’action s’est produite.

public override void ItemDeleting(SPItemEventProperties properties)
{
    properties.Cancel = true;
    properties.ErrorMessage = "Deleting is not supported.";
}
Public Overrides Sub ItemDeleting(ByVal properties As SPItemEventProperties)
        properties.Cancel = True
        properties.ErrorMessage = "Deleting is not supported."
End Sub

Les données associées à l’élément de liste sont contenues dans la propriété ListItem. Vous pouvez accéder à ces valeurs de propriété en utilisant le conteneur de propriétés AfterProperties.

La deuxième méthode que vous devez substituer est ItemAdded. L’exemple suivant utilise la propriété ListItem pour renvoyer un objet qui représente le nouvel élément de liste, puis modifie le texte du corps de l’élément.

public override void ItemAdded(SPItemEventProperties properties)
{
    SPListItem oItem = properties.ListItem;
    oItem["Body"] = "Body text maintained by the system.";
    oItem.Update();
}
Public Overrides Sub ItemAdded(ByVal properties As SPItemEventProperties)
    Dim oItem As SPListItem = properties.ListItem
    oItem("Body") = "Body text maintained by the system."
    oItem.Update()
End Sub

Vous devez inscrire les récepteurs d’événements ItemDeleting et ItemAdded, comme décrit dans Liaison d’un gestionnaire d’événements SharePoint Foundation

Voir aussi

Tâches

Procédure : créer une fonctionnalité Gestionnaire d'événements

Concepts

Liaison d’un gestionnaire d’événements SharePoint Foundation

Enregistrement d'événements

Validation de la sécurité et utilisation des publications pour la mise à jour des données

Élévation de privilège

Utilisation des fonctionnalités