5

短くて甘くしておきます。elements.xmlの「Receivers」ノードの「ListTemplateOwner」タグが実際に何を意味するのかを本当に知っている人はいますか?

Microsoftのサイトから:http://msdn.microsoft.com/en-us/library/ms431081 (loband).aspx

ListTemplateOwner:オプションのテキスト。リストテンプレートが機能を介して登録されている場合はリストテンプレート所有者のGUIDを指定し、リストテンプレートがサイト定義によって登録されている場合はサイト定義の名前を指定します。

4

3 に答える 3

2

リストが Feature の ListTemplate によって定義されている場合、ListTemplateOwner はリストを定義した機能の ID です

標準リスト (ListTemplateId < 10000) のいずれかを参照している場合、ListTemplateOwner を指定する必要はありません (後方互換性のため)。

自分またはサード パーティによって定義されたリストを参照する場合は、ListTemplateId (> 10000 であり、定義する ListTemplate の Type 属性に一致する) と、ListTemplate を定義した機能の FeatureId に一致する ListTemplateOwner の組み合わせが必要です。

これは、ListTemplate を定義するときのルールは、Type が > 10000 であり、機能内で一意である必要があるという事実によるものですが、任意の数の機能がタイプ 10001 の独自の ListTemplate を持つことができます (そして、リストを定義する機能は通常、から始まるだけです)。 10001)

リストが Site 定義の ListTemplate によって定義されている場合、ListTemplateOwner はその Site Definition の名前ですが、Site 定義でリストを定義しないでください。機能で定義してください。

于 2009-05-07T20:35:31.340 に答える
1

これは正しくありません。リスト タイプのリスト定義を含む現在の機能に設定されている機能 ID は、レシーバーを正しく対象としていません...

<ListTemplate
    Name="SomeList"
    Type="99002"
    BaseType="0"
    OnQuickLaunch="TRUE"
    SecurityBits="11"
    Sequence="410"
    DisplayName="Some List"
    Description="Custom List used for whatnot"
    Image="/_layouts/images/itgen.gif"/>

<Receivers ListTemplateId="99002" ListTemplateOwner="B1E4631D-52A1-48d0-A319-2DDC2893AA57">

所有する機能に関係なく、各リスト テンプレートに一意の ID を与える必要があります。

于 2011-03-04T08:40:07.287 に答える
0

リストテンプレートを所有するSharePointオブジェクトのID(GUID)を参照していると思います。データベースのID列のように考えてください。これは、外部キーになります。

于 2009-04-24T16:44:05.140 に答える