2

ドキュメント セットに基づいて 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 パーツに表示されないようにするために、これらすべてを行います。それはまったく可能ですか?そして、これを行うためのより簡単な方法があるかもしれませんか? どうもありがとう。

4

1 に答える 1

1

ContentType.Update(true) を追加するのを忘れたようです。また、ItemAdded は非同期イベントであり、w3wp プロセスでは実行されないことに注意してください。デバッグするには、owstimer.exe プロセスにアタッチする必要があります。

于 2012-01-13T14:31:31.700 に答える