2011-01-21 19 views
0

私はlistitemの値を取得しようとしていますが、引き続きArgumentExceptionを取得しようとしています。Sharepointを照会しています - 値が予想される範囲内にありません

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

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

をイミディエイトウィンドウIが存在する列を確認することができ、その値は、オブジェクト・ツリー構造中に見出すことができるでは次のよう

私のコードです。

result.Fields.GetField(Column).Id 

は、GUIDを返しますが、別のArgumentExceptionがでフィールドの結果の値を取得するためにそれを使用して:

result[result.Fields.GetField(Column).Id] 
+0

私は例外の原因を見つけました:SPQueryオーバーロードの代わりにList.GetItems(文字列)を使用しました – Windy

答えて

1

あなたがSPListItem

result[result.Fields.GetField(Column).InternalName] 
から値を取得するには、フィールドのInternalNameを使用する必要があります
2

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

関連する問題