0

我已经制作了一个列表定义,我已经将它放入了一个网络范围的功能中,我已经在我的站点定义中添加到了 WebFeatures 中。在我的站点定义中,我添加了一个列表视图 Web 部件,它将显示通过列表定义创建的列表。我的问题是,当我将列表的名称添加到列表视图 Web 部件中的 List 属性时,如下所示:

<View List="OrderList" BaseViewID="1" WebPartZoneID="Footer" WebPartOrder="2">
</View>

仅此原因,创建新子站点的过程就失败了。我有 2 个其他列表以完全相同的方式添加到站点定义中

<View List="Documents" BaseViewID="1" Type="HTML" WebPartZoneID="Footer" WebPartOrder="1">
</View>

<View List="108" BaseViewID="3" WebPartZoneID="Footer" ContentTypeID="0x012001" WebPartOrder="4">
</View>

唯一的区别是这两个列表是标准的共享点文档库和讨论板。如果我删除自定义列表的列表视图 Web 部件,整个流程可以正常工作,但只要我添加它,整个流程就会失败。

我已经通过 VS2010 自己的 listdefinition 模板等创建了 listdefinition,但我什么都没碰。仅更改列表实例中的名称并确保 Elements.xml 和 Schema.xml 文件中的所有内容都匹配

4

1 回答 1

1

ListInstance 的 Url 属性是什么?

因为 View 元素的 List 属性必须与 ListInstance 中的 Url 匹配。例如,如果您的 ListInstance 定义为:

<ListInstance
    FeatureId="00000000-0000-0000-0000-000000000000"
    TemplateType="0000"
    Title="My Test List"
    Url="Lists/OrderList">
</ListInstance>

那么您的视图必须是:

<View List="Lists/OrderList" BaseViewID="1" WebPartZoneID="Footer" WebPartOrder="2">
</View>
于 2011-06-29T13:17:40.413 回答