0

我想给一些指定的列表项添加附件,我使用函数 SPlist.GetItems(SPQuery) 来获取目标列表项,因为列表中有很多列,为了限制返回的列,我指定了 ViewFields 如下并将“ ViewFieldsOnly”属性设置SPQuery为“true”。

 query.ViewFields = "<FieldRef Name='Attachments' />";

我正确获取了列表项,并且返回的 SPListItem 对象的“附件”属性不为空。然而,我使用后SPListItem.Attachments.Add()并尝试调用之后SPListItem.Update(),出现错误

出现“值不在预期范围内”。

ViewFieldsOnly在研究了这个问题后,我发现如果SPQuery设置为“ false”,就不会出现这个错误,附件会上传成功。但这将返回列表项的所有列,并使我的程序运行速度变慢。

所以我的问题是,是否有一个“强制性”列可以阻止附件附加到列表项?

4

1 回答 1

2

我遇到了同样的错误,但我猜这是由于 udpate 需要更多的字段。
我找到了博客并同意这一点。

因此,将 ViewFieldsOnly 保留为默认值 (false) 是更新时的唯一选择。

于 2013-11-02T16:24:57.953 回答