2012-01-11 60 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

相关问题