0

我正在尝试检索列表项的值,但不断收到 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

您需要使用字段的 InternalName 从 SPListItem 获取其值

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