0

他の機能によって読み取られる設定リスト テンプレートを含む SharePoint 機能があります。すべてが機能するには、リストに特定の名前が必要なので、リスト テンプレートの代わりにリストを作成するのが理想的です。

メソッドEventReceiverをオーバーライドして、クラスをいじってみました。FeatureInstalledタイプのパラメーターを受け取りますSPFeatureReceiverProperties。ドキュメントを調べたところ、1 つのプロパティが機能がインストールされている場所UserCodeSiteを参照していることがわかりました。そのようにして、機能に含まれるリスト テンプレートから特定のリストを作成するコードを書きたいと思いました。SPSiteSite

SPWeb_object.Lists.Add(listName, "", SPListTemplate_object)

ただし、プロパティはプロパティと同様に nullFeatureです。そのため、SPSite オブジェクトも SPWeb オブジェクトも取得できません。

他のアイデアはありますか?

4

2 に答える 2

2

新しいリスト インスタンス ListInstance コンストラクトを作成できます。これを参照してください: http://msdn.microsoft.com/en-us/library/ms476062.aspx その特定の機能を有効にすると、リストが作成されます。機能を自動的にアクティブ化するには、機能ステープルを使用できます。これを参照してください http://msdn.microsoft.com/en-us/library/ff648422.aspx

于 2012-05-07T15:37:17.020 に答える
1

リストの作成は非常に一般的な要件です。別のポスターで提案されているように、インストールではなくアクティブ化時にリスト インスタンスを作成することをお勧めします。次のように、目的のアクティブ化スコープ (機能がアクティブ化されている SPWeb または SPSite) にアクセスできます。

SPWeb web = (SPWeb)properties.Feature.Parent;

また

SPSite サイト = (SPSite)properties.Feature.Parent;

お役に立てれば。

于 2012-05-07T21:49:47.527 に答える