SharePoint列表错误:";值不在预期范围内;
您好,我正在使用SharePoint命名空间进行开发,在尝试从我的一个LSIT检索URL列时遇到以下错误SharePoint列表错误:";值不在预期范围内;,sharepoint,list,Sharepoint,List,您好,我正在使用SharePoint命名空间进行开发,在尝试从我的一个LSIT检索URL列时遇到以下错误 "Value does not fall within the expected range" 我所做的就是: item["URL"] 有人能告诉我怎么做吗?这通常意味着“URL”不是列表中的字段 如果是升级的InfoPath列,请尝试停用表单模板并将其重新激活到站点。我注意到,每当我向infopath模板添加新的提升字段时,我都必须这样做。若要获取SPListItem的URL,请使用
"Value does not fall within the expected range"
我所做的就是:
item["URL"]
有人能告诉我怎么做吗?这通常意味着“URL”不是列表中的字段
如果是升级的InfoPath列,请尝试停用表单模板并将其重新激活到站点。我注意到,每当我向infopath模板添加新的提升字段时,我都必须这样做。若要获取
SPListItem
的URL,请使用项。URL
错误肯定意味着找不到该字段
调试该进程并查看ListItem.Fields.SchemaXML
属性以查找其内部名称,它可以在内部保存为URL
以外的内容。还可以使用以下方法获取列表项值
SPField l_field = l_item.Fields.GetField("URL");
string l_fieldValue = l_item[l_field.Id].ToString();
GetField
方法通过DisplayName和InternalName查找字段。有一种检索URL的特殊方法。试试这个:
public static string GetItemURLValue(SPListItem item, string fieldName)
{
string exit = "";
SPFieldUrlValue link = new SPFieldUrlValue(item[fieldName].ToString());
exit = link.Url;
return exit;
}
SPListItem li = ...
SPFieldUrlValue fuv = new SPFieldUrlValue(li[strFieldName].ToString());
return fuv.Url;
我的是Windows应用程序。我曾经在创建设置并尝试部署后遇到此异常 我的应用程序需要在Excel中编写,然后保存。我使用了COM组件“MicrosoftExcel11.0对象”的引用。我注意到,当我添加此引用时,实际上有3个dll出现在我的引用列表中
我删除了“VBIDE”引用,我的问题就解决了。如果它只是一个列名,并且是“单行文本”格式,那么:
item["URL"] != null ? item["URL"].ToString() : "Not Found";
不是我要查找的URL,我要查找的是我创建的列URL。如果它是升级的InfoPath列,请尝试停用表单模板并将其重新激活到站点。我注意到,每当我向infopath模板添加新的提升字段时,我都必须这样做。我建议SharePoint manager在SharePoint中查看架构xml和其他有趣的内容两点-不要忘记SPBuiltInFieldId枚举,如果您使用的是SPQuery版本的GetItems,并且在查询部分包含了所需的字段,那么为什么sharepoint不能只说“未找到字段”之类的话?也许只是我,但这些错误信息令人沮丧。似乎他们只是让代码的异常冒泡出来,然后让程序员猜测…+1,@HenryC:我在
中缺少了字段,并且在尝试使用它时得到了OP的错误。救了我!谢谢。对不起,我看到ryan发布了一个类似的解决方案。您使用的是哪种语言?在特定的项上它可能为空?