我想为一些指定的List项添加附件,我使用函数SPlist.GetItems(SPQuery)来获取目标列表项,因为List中有很多列,为了限制返回的列,我指定了ViewFields如下所示,并设置" ViewFieldsOnly
" SPQuery
到" true"。
query.ViewFields = "<FieldRef Name='Attachments' />";
我正确地获得了列表项目&#34;附件&#34;返回的SPListItem对象的属性不为null。但是,在我使用SPListItem.Attachments.Add()
并尝试调用SPListItem.Update()
后,出现错误
&#34;价值不在预期范围内&#34;发生。
在调查此问题后,我发现如果&#34; ViewFieldsOnly
&#34; SPQuery
的属性设置为&#34; false
&#34;,该错误不会发生,附件将成功上传。但是这将返回List项的所有列,并使我的程序运行得更慢。
所以我的问题是,是否有强制性的&#34;可能阻止附件附加到列表项的列?
答案 0 :(得分:2)
我遇到了同样的错误,但我猜测是因为udpate需要更多的字段 我找到了blog并同意这一点。
因此,在更新的情况下,将ViewFieldsOnly保留为默认值(false)是唯一的选择。