.NET从多行类型的列中获取SP项目值

时间:2019-05-21 02:06:59

标签: c# .net list sharepoint

我无法从item类型的列中获取SPListmulti-line的值。 single-line类型列没有错误。

错误:

  

System.NullReferenceException:对象引用未设置为实例   一个对象。

foreach (SPListItem item in myList.Items)
{
    //column: single-line type
    string function = item["Function"].ToString();

    //column: multi-line type - error-ed
    string parameters = item["Parameters"].ToString();
}

列:

enter image description here


功能列(单行) enter image description here


“参数”列(多行)

enter image description here

1 个答案:

答案 0 :(得分:1)

使用SPField.GetFieldValueAsText方法以纯文本形式获取字段值。

using (SPSite site = new SPSite("http://sp/sites/jerry"))
{
    using (SPWeb web = site.OpenWeb())
    {
        var list = web.Lists.TryGetList("TestList");
        var item = list.GetItemById(1);
        var eventDescField = list.Fields.GetFieldByInternalName("Parameters");
        var eventDesc = item[eventDescField.Id];
        var eventDescText = eventDescField.GetFieldValueAsText(eventDesc);

    }
}