2011-01-21 91 views
0

我試圖檢索listitem的值,但不斷收到ArgumentException - 值不在預期範圍內。查詢Sharepoint - 值不在預期範圍

我的代碼如下:

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

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

在立即窗口我可以驗證柱確實存在和值可以在對象樹結構中找到。

result.Fields.GetField(Column).Id 

返回一個GUID,但用它來檢索字段導致另一ArgumentException的價值:

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

我找到了異常的原因:我用List.GetItems(string)而不是SPQuery overload – Windy 2011-01-21 15:30:31

回答

1

您需要使用的字段INTERNALNAME從SPListItem

result[result.Fields.GetField(Column).InternalName] 
得到其數值
2

如果您從視圖(list.GetItems(view))或通過ViewFields屬性集的查詢獲得列表項集合,則可能發生這種情況,在這種情況下,只有View中包含的字段字段被返回。