0

指定したリスト項目に添付ファイルを追加したいのですが、関数 SPlist.GetItems(SPQuery) を使用して目的のリスト項目を取得しました。リストには多くの列があるためです。返される列を制限するために、以下のように ViewFields を指定しました。の " ViewFieldsOnly" プロパティSPQueryを "true" に設定します。

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

リスト アイテムを正しく取得しましたが、返された SPListItem オブジェクトの "Attachments" プロパティが null ではありません。ただし、を使用SPListItem.Attachments.Add()して呼び出そうとするとSPListItem.Update()、エラーが発生しました

「想定範囲外の値」が発生。

この問題を調べたところ、 の " ViewFieldsOnly" プロパティがSPQuery" " に設定されている場合false、そのエラーは発生せず、添付ファイルは正常にアップロードされることがわかりました。しかし、これはリスト項目のすべての列を返し、プログラムの実行が遅くなります。

だから私の質問は、添付ファイルがリスト項目に添付されるのをブロックする可能性のある「必須」の列はありますか?

4

1 に答える 1

2

同じエラーが発生しましたが、それは udpate にさらにいくつかのフィールドが必要であるためだと推測しました。ブログ
を見つけて納得。

したがって、ViewFieldsOnly をデフォルト (false) のままにしておくことが、更新の場合の唯一の選択肢です。

于 2013-11-02T16:24:57.953 に答える