我正在尝试检索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]
答案 0 :(得分:2)
如果从视图(list.GetItems(view))或ViewFields属性集的查询中获取列表项集合,则会发生这种情况,在这种情况下,仅返回ViewFields中包含的字段。
答案 1 :(得分:1)
您需要使用字段的InternalName从SPListItem
获取其值result[result.Fields.GetField(Column).InternalName]