2012-01-11 19 views
2

ドキュメントセットに基づいてコンテンツタイプをプログラムで作成しました。イベントレシーバを添付します。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(true)を追加するのを忘れてしまったようです。 また、ItemAddedは非同期イベントであり、w3wpプロセスでは実行されません。デバッグするには、owstimer.exeプロセスにアタッチする必要があります。

+0

私は、少なくとも2007年には、イベントレシーバーもGACに参加しなければならないと確信しました。 –

関連する問題