我在多个服务器环境上遇到了这个问题。

我们在站点集合根上有一个列表。在该列表的标题字段上创建了一个网站列作为多价查找。此站点列用于亚地地点的文档库中,作为所需字段。当我们上传除Office 2007文档以外的任何内容时,将向用户提供文档元数据填充屏幕(editform.aspx?mode = upload),用户填写了适当的数据(包括为此查找选择值(S) ),然后单击“入住” - 符合预期的文档,查找字段的值已填充。

使用Office 2007文件,这将失败。查找字段的用户选择值永远不会进入服务器 - 没有错误,但是该文档没有保存该字段。我们在这些文档库上有一个事件侦听器,如果我们在代码的一行运行之前检查事件侦听器方法的传入splistitem,我们会发现查找字段的值是null。

对我来说,它闻起来像是SharePoint错误 - 但是在我打电话给Microsoft之前,有人看过它并解决了吗?

编辑: 我在与问题有关的SP跟踪日志中看到的唯一条目:

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null
有帮助吗?

解决方案

最终必须与Microsoft打开一张票,并在MSDN文档中找到一个错误。

为了获取多选择查找,我们一直在查找字段中将“多”属性设置为CAML中的“ true”,以“ true”。 spfieldCollection.AddfieldAsxml. 。但是,即使API不会引发错误并似乎在UI中起作用,但这与Office 2007&2010文档及其SharePoint集成的方式发生冲突。

添加多选择查找字段的官方,支持的方法是使用LookupMulti字段类型 CAML现场. 。这样做,并将“多”属性设置为“ true”给出了我正在寻找的结果。

MSDN文档 对于“ Mult”仍未对SP 2007文档进行更新,并且可以安全地忽略,因为它是完全错误的。

许可以下: CC-BY-SA归因
scroll top