0

listitem の値を取得しようとしていますが、ArgumentException が発生し続けます - 値が期待される範囲内にありません。

私のコードは次のとおりです。

if (resultList.Count > 0)
            {
                SPListItem result = resultList[0];

                if (result[Column] != null)
                {
                   return result[Column].ToString();
                }
            }

すぐに表示されるウィンドウで、列が存在し、値がオブジェクト ツリー構造で見つかることを確認できます。

result.Fields.GetField(Column).Id 

Guid を返しますが、それを使用して Field の値を取得すると、別の ArgumentException が発生します。

result[result.Fields.GetField(Column).Id]
4

2 に答える 2

2

これは、リスト アイテム コレクションをビュー (list.GetItems(view)) から取得した場合、または ViewFields プロパティが設定されたクエリから取得した場合に発生する可能性があります。この場合、ViewFields に含まれるフィールドのみが返されます。

于 2011-01-21T18:10:41.617 に答える
1

SPListItem から値を取得するには、フィールドの InternalName を使用する必要があります

result[result.Fields.GetField(Column).InternalName]
于 2011-01-21T15:06:59.560 に答える