2012-01-11 28 views
2

基於文檔集我編程創建的ContentType,並希望事件接收器連接到它。看起來像這樣:的SharePoint DocumentSet事件接收器ItemAdded不點火

SPEventReceiverDefinition eventReceiverDefinition = TestDocumentSet.EventReceivers.Add(); 
     eventReceiverDefinition.Class = "DocSetsTesting.EventReceivers.DocSetReceiver.DocSetReceiver"; // String 
     eventReceiverDefinition.Assembly = Assembly.GetExecutingAssembly().FullName; // String 
     eventReceiverDefinition.Type = SPEventReceiverType.ItemAdded; // SPEventReceiverType 
     eventReceiverDefinition.Data = "XML"; // Arbitrary input data (String) 
     eventReceiverDefinition.Update(); 

當我這樣做的ItemAdding事件,處理程序的作品。但它不適用於ItemAdded。 我做這一切的東西,因爲我想和隱藏特定的內容類型的文件,所以我希望他們不要在文檔設置內容的Web部件進行顯示。它有可能嗎?可能有更簡單的方法來做到這一點?非常感謝。

回答

1

在我看來,你忘了加ContentType.Update(真)。 此外,請記住ItemAdded是一個異步事件,並在W3WP進程不會運行。要調試它,你需要附加到owstimer.exe進程。

+0

筆者認爲,至少在2007年,事件接收器也不得不進入GAC。 – 2012-01-18 23:20:04

相關問題