SharePoint列表错误:“值不在预期范围内”

时间:2009-03-02 18:15:59

标签: sharepoint list

您好我正在使用SharePoint命名空间进行开发,当我尝试从我的某个lsits中检索URL列时遇到以下错误。

 "Value does not fall within the expected range"

我所做的只是:

item["URL"]

有人可以告诉我我能做些什么吗?

7 个答案:

答案 0 :(得分:8)

错误肯定意味着无法找到该字段。

调试流程并查看ListItem.Fields.SchemaXML属性以查找其内部名称,它可以在内部保存为URL以外的其他内容。您还可以使用以下方法获取列表项值。

SPField l_field = l_item.Fields.GetField("URL");
string l_fieldValue = l_item[l_field.Id].ToString();

GetField方法通过DisplayName和&amp ;;查找字段。 INTERNALNAME。

答案 1 :(得分:1)

要获取SPListItem的网址,请使用Item.Url

答案 2 :(得分:1)

    public static string GetItemURLValue(SPListItem item, string fieldName)
    {
        string exit = "";
        SPFieldUrlValue link = new SPFieldUrlValue(item[fieldName].ToString());
        exit = link.Url;
        return exit;
    }

答案 3 :(得分:0)

这通常意味着“URL”不是列表中的字段。

如果是推荐的InfoPath列,请尝试停用并重新激活表单模板到站点。我注意到每当我向infopath模板添加一个新的提升字段时我都必须这样做。

答案 4 :(得分:0)

有一种检索网址的特殊方法。试试这个:

SPListItem li = ...
SPFieldUrlValue fuv = new SPFieldUrlValue(li[strFieldName].ToString());
return fuv.Url;

答案 5 :(得分:0)

我是一个Windows应用程序。在创建设置并尝试部署之后,我曾经遇到此异常。

我的应用程序需要在Excel中编写然后保存。我使用了COM组件&Microsoft Excel 11.0 Object'的引用。我注意到当我添加此引用时,实际上我的引用列表中出现了3个dll。

  1. Microsoft.office.core
  2. Excel中
  3. VBIDE
  4. 我删除了' VBIDE'参考和我的问题解决了。

答案 6 :(得分:0)

如果它只是一个列名和“单行文本”格式,那么:

item["URL"] != null ? item["URL"].ToString() : "Not Found";