2010-04-27 58 views
0

我在多个服务器环境中遇到此问题。查找站点列未保存/存储Office 2007文档的元数据?

我们在网站集根目录下有一个列表。在该列表的标题字段中创建了一个网站列作为多值查找。子网站中的文档库中使用此网站列作为必填字段。当我们上传除Office 2007文档之外的任何内容时,用户将看到文档元数据填充屏幕(EditForm.aspx?Mode = Upload),用户填写相应的数据(包括为此查找选择一个或多个值) ),然后单击“检入” - 按预期检入文档,并填充查找字段的值。

对于Office 2007文档,此操作将失败。用户为查找字段选择的值不会将其发送到服务器 - 不会引发错误,但字段不会与文档一起保存。我们在这些文档库中有一个事件监听器,如果我们在运行代码的单行之前检查事件监听器方法中的传入SPListItem,我们会看到查找字段的值为空。

它闻起来像一个SharePoint错误 - 但在我去调用微软之前,有没有人看到这个&解决它?

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

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null 

回答

1

彼时其开出罚单与微软的这一个,发现一个bug在MSDN文档启动。

为了获得多重查询,我们将查找字段CAML中的“Mult”属性设置为传递给SPFieldCollection.AddFieldAsXml的XML中的“true”。但是,即使该API不会引发任何错误,&似乎可以在用户界面中工作,但这与SharePoint集成的工作原理相冲突。

官方支持添加多选查询字段的方式是使用Field CAML中的LookupMulti字段类型。这样做,并将“Mult”属性设置为“true”给出我正在寻找的结果。

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

相关问题