Mic*_*hal 5 sharepoint content-type lookup-field
我尝试在内容类型中添加查找字段.Field有这个定义:
<Field ID="{c80e8e3c-7124-4772-a39d-5b69f131d542}"
Name="Site"
Group="Tieto Intranet Columns"
Type="Lookup"
DisplayName="Site"
StaticName="Site"
List="Lists/FavoriteSites"
ShowField="Title"
PrependId="TRUE"
WebId="~sitecollection"
>
Run Code Online (Sandbox Code Playgroud)
我希望通过此查找字段引用的FavoriteSites列表存在于网站集范围内.部署顺利,但是当我使用此查找基于内容类型创建列表时,看起来查找字段未连接到FavoriteSites列表.我将一些数据添加到FavoriteSites中,而不是尝试在FavoriteSites上的查找字段中添加内容到第二个列表中.不幸的是下拉选择,这应该显示我从FavoriteSites列表中的数据是空的.
当我手动为FavoriteSites创建新的查阅列时,一切正常.
有人知道这个查找定义中哪里有问题?
更新:
正如Rich推荐我的那样,我在Verbose上设置日志级别找到这条消息:
无法找到在特征{d86c7005-d31d-43ae-b86b-38f28b81072e}中为字段{c80e8e3c-7124-4772-a39d-5b69f131d542}指定的WebId = ~sitecollection和List = Lists/FavoriteSites属性.设置列表= {39CEC23E-FB28-47B3-BC36-C21780AD1D94}.
我不明白,因为列表收藏网站存在.FavoriteSites列表以及具有"站点"字段的第二个列表由网站集范围上的一个功能部署.
我无法通过GUID在查找中指定列表,因为我不知道部署时间中的guid.
该日志消息的含义是,网站集根网站或激活该功能的网站(如果后者是子网站)中不存在 Lists/FavoriteSites。
如果某个功能正在创建列表/FavoriteSites,请确保在字段功能之前激活它。如果需要,请将 ListInstance 元素放在 Field 元素的正上方。但消息很明确:将自定义字段设置到网站集时该列表不存在。这就是它不起作用的原因。
需要明确的是,该列表必须在激活该功能时存在,而不仅仅是在创建将使用该字段的列表实例时存在。
PS 我通过检查Microsoft.SharePoint.SPFieldElement.PerformFixUpIfLookUpField 方法的“文档”发现了这一点。
| 归档时间: |
|
| 查看次数: |
5395 次 |
| 最近记录: |