(SPFieldLookupValue) splistitem типа Lookup выбрасывает объектную ссылку, не установленную для экземпляра исключения объекта
У меня есть список sharepoint, в котором есть несколько полей Lookup. Когда я перебираю элементы в коде, я получаю следующую ошибку:
В экземпляре объекта не задана ссылка на объект.
Эта ошибка появляется только в полях поиска, когда они не заполнены какими-либо значениями. Я пытался использовать SPFieldLookupValue
проверить на нулевые значения, но я все еще получаю ошибку.
Вот как я проверяю нулевые значения:
SPFieldLookupValue value = new SPFieldLookupValue(listItem[columnDisplayName].ToString());
if (value.LookupValue != null)
Любая помощь, ребята?
2 ответа
Причина, по которой вы получаете это исключение, лежит здесь: listItem[columnDisplayName].ToString()
так как listItem[columnDisplayName]
не имеет значения и возвращает нуль, который вы пытаетесь вызвать ToString()
для нулевого объекта, поэтому он выдает "Ссылка на объект не установлена на экземпляр исключения объекта".
Если вы просто хотите проверить, не является ли поле элемента пустым, сделайте так:
if (listItem[columnDisplayName]!=null)
{
//here you can access listItem[columnDisplayName] safely
}
У меня была похожая проблема, когда я начал с SP2010. Этот пост имеет ответ на вашу проблему.