我已经以编程方式创建了基于文档集的ContentType,并希望将事件接收器附加到它。看起来像这样:
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部件中。有可能吗?也许有一种更简单的方法可以做到这一点?非常感谢。
答案 0 :(得分:1)
在我看来,您忘了添加ContentType.Update(true)。 另外,请记住ItemAdded是一个异步事件,并不在w3wp-process中运行。要调试它,您需要附加到owstimer.exe进程。