2011-09-14 32 views
0

我正在嘗試爲我創建的列表創建一個名爲Questions的事件接收器。如何爲基於自定義內容類型的單個列表創建事件接收器?

當添加新問題時,我想要引發一個事件。我已經研究過它,所以我知道我需要創建一個事件接收器並使用ItemAdded方法。

如何將此綁定到列表的一個實例,以及在創建接收器時爲源類型選擇了什麼?我沒有在那裏有「自定義列表」選項作爲some blog posts suggest.

希望有人能幫助..

回答

2

我認爲這可能是你以後在做什麼:(http://msdn.microsoft。 COM/EN-US /庫/ 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(); 
    } 
} 

問候,

喬爾

-

http://joelblogs.co.uk

@joelblogs

+0

如果事件接收器包含itemadded和更新的項目兩種方法我怎麼告訴它,它的兩種類型(def.Type只接受一個值)是否必須調用EventReceivers.Add代碼兩次?也不知道如何獲得程序集信息? – Andrew

+0

你可以在FeatureActivated事件上使用這段代碼嗎? – Andrew

+0

您需要爲每個事件調用EventReceivers.Add()。在這裏兩次,是的。 –

相關問題