2011-09-14 2 views
0

J'essaye de créer un récepteur d'événement pour une liste que j'ai créée appelée Questions.Comment puis-je créer un récepteur d'événements pour une seule liste basée sur un type de contenu personnalisé?

Lorsqu'une nouvelle question est ajoutée, je veux qu'un événement se déclenche. J'ai regardé dedans ainsi je sais que je dois créer un récepteur d'événement et utiliser la méthode ItemAdded. Comment puis-je lier ceci à une instance d'une liste et que dois-je sélectionner pour le type de source lors de la création du récepteur? Je n'ai pas une option pour « Liste personnalisée » dans quelqu'un comme some blog posts suggest.

L'espoir peut aider ..

Répondre

2

Je pense que cela pourrait être ce que vous êtes après: (http://msdn.microsoft. com/fr-fr/bibliothèque/ff407249.aspx)

using (SPSite site = new SPSite("http://localhost")) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     SPList list = web.Lists["Shared Documents"]; 

     SPEventReceiverDefinition def = list.EventReceivers.Add(); 

     def.Assembly = "ERDefinition, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=704f58d28567dc00"; 
     def.Class = "ERDefinition.ItemEvents"; 
     def.Name = "ItemAdded Event"; 
     def.Type = SPEventReceiverType.ItemAdded; 
     def.SequenceNumber = 1000; 
     def.Synchronization = SPEventReceiverSynchronization.Synchronous; 
     def.Update(); 
    } 
} 

Cordialement,

joel

-

http://joelblogs.co.uk

@joelblogs

+0

Si votre récepteur d'événements contient deux méthodes pour ItemAdded et élément mis à jour comment puis-je lui dire que c'est de deux types (def.Type n'accepte qu'une seule valeur) Dois-je appeler deux fois le code EventReceivers.Add? Vous ne savez pas comment obtenir les informations d'assemblage? – Andrew

+0

Pouvez-vous utiliser ce code sur un événement FeatureActivated? – Andrew

+0

Vous devez appeler EventReceivers.Add() pour chaque événement. Donc deux fois ici, oui. –

Questions connexes