查询Sharepoint - 值不在预期范围内

时间:2011-01-21 12:48:20

标签: sharepoint caml argumentexception

我正在尝试检索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]

2 个答案:

答案 0 :(得分:2)

如果从视图(list.GetItems(view))或ViewFields属性集的查询中获取列表项集合,则会发生这种情况,在这种情况下,仅返回ViewFields中包含的字段。

答案 1 :(得分:1)

您需要使用字段的InternalName从SPListItem

获取其值
result[result.Fields.GetField(Column).InternalName]