我在几个服务器环境中遇到了这个问题。
我们在网站集根目录中有一个列表。在该列表的“标题”字段上创建了一个作为多值查找的网站栏。此网站栏在子网站的文档库中用作必填字段。当我们上传除 Office 2007 文档之外的任何内容时,用户会看到文档元数据填写屏幕 (EditForm.aspx?Mode=Upload),用户填写适当的数据(包括为此查找选择一个值) ),然后单击“签入”- 文档按预期签入,并填写了查找字段的值。
对于 Office 2007 文档,这将失败。用户为查找字段选择的值永远不会到达服务器 - 不会引发错误,但该字段不会与文档一起保存。我们在这些文档库上有一个事件侦听器,如果我们在单行代码运行之前检查事件侦听器方法上的传入 SPListItem,我们会看到查找字段的值为 null。
对我来说,它闻起来像一个 SharePoint 错误——但在我打电话给微软之前,有没有人看到过这个并解决了这个问题?
编辑:我在与问题相关的 SP 跟踪日志中看到的唯一条目:
CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null