5

我会保持简短和甜蜜。有谁真的知道elements.xml 的“Receivers”节点的“ListTemplateOwner”标签的真正含义?

从微软的网站: http: //msdn.microsoft.com/en-us/library/ms431081 (loband).aspx

ListTemplateOwner:可选文本。如果列表模板是通过 Features 注册的,则指定列表模板所有者的 GUID;如果列表模板是通过站点定义注册的,则指定站点定义的名称。

4

3 回答 3

2

如果列表由 Feature 中的 ListTemplate 定义,则ListTemplateOwner 是定义列表的特征的 ID

当您引用任何标准列表(ListTemplateId < 10000)时,您不需要指定 ListTemplateOwner(由于向后兼容)

当您引用由您或第三方定义的列表时,您需要 ListTemplateId (> 10000 并匹配定义 ListTemplate 的 Type 属性) 和 ListTemplateOwner 的组合,以匹配定义 ListTemplate 的功能的 FeatureId。

这是因为当您定义 ListTemplate 时,规则是 Type 应该 > 10000 并且在功能内部是唯一的,但是任何数量的功能都可能有自己的 ListTemplate 类型为 10001(并且定义列表的功能通常只是从10001)

如果列表由站点定义中的 ListTemplate 定义,则ListTemplateOwner 是该站点定义的名称,但不在站点定义中定义列表,请在功能中执行。

于 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 回答