SharePoint DocumentSet事件接收器ItemAdded未触发

时间:2012-01-11 08:23:10

标签: sharepoint event-receiver document-set

我已经以编程方式创建了基于文档集的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部件中。有可能吗?也许有一种更简单的方法可以做到这一点?非常感谢。

1 个答案:

答案 0 :(得分:1)

在我看来,您忘了添加ContentType.Update(true)。 另外,请记住ItemAdded是一个异步事件,并不在w3wp-process中运行。要调试它,您需要附加到owstimer.exe进程。