我会保持简短和甜蜜。有谁真的知道elements.xml 的“Receivers”节点的“ListTemplateOwner”标签的真正含义?
从微软的网站: http: //msdn.microsoft.com/en-us/library/ms431081 (loband).aspx
ListTemplateOwner:可选文本。如果列表模板是通过 Features 注册的,则指定列表模板所有者的 GUID;如果列表模板是通过站点定义注册的,则指定站点定义的名称。
我会保持简短和甜蜜。有谁真的知道elements.xml 的“Receivers”节点的“ListTemplateOwner”标签的真正含义?
从微软的网站: http: //msdn.microsoft.com/en-us/library/ms431081 (loband).aspx
ListTemplateOwner:可选文本。如果列表模板是通过 Features 注册的,则指定列表模板所有者的 GUID;如果列表模板是通过站点定义注册的,则指定站点定义的名称。
如果列表由 Feature 中的 ListTemplate 定义,则ListTemplateOwner 是定义列表的特征的 ID。
当您引用任何标准列表(ListTemplateId < 10000)时,您不需要指定 ListTemplateOwner(由于向后兼容)
当您引用由您或第三方定义的列表时,您需要 ListTemplateId (> 10000 并匹配定义 ListTemplate 的 Type 属性) 和 ListTemplateOwner 的组合,以匹配定义 ListTemplate 的功能的 FeatureId。
这是因为当您定义 ListTemplate 时,规则是 Type 应该 > 10000 并且在功能内部是唯一的,但是任何数量的功能都可能有自己的 ListTemplate 类型为 10001(并且定义列表的功能通常只是从10001)
如果列表由站点定义中的 ListTemplate 定义,则ListTemplateOwner 是该站点定义的名称,但不在站点定义中定义列表,请在功能中执行。
这是不正确的,当设置为包含列表类型的列表定义的当前特征时,特征 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,不管拥有的特性是什么。
我猜它指的是拥有列表模板的 SharePoint 对象的 ID (GUID)。把它想象成数据库的 ID 列,这就是它的外键。