(SPFieldLookupValue) splistitem типа Lookup выбрасывает объектную ссылку, не установленную для экземпляра исключения объекта - PullRequest
2 голосов
/ 20 ноября 2011

У меня есть список sharepoint, в котором есть несколько полей Lookup.Когда я перебираю элементы в коде, я получаю следующую ошибку:

Ссылка на объект не установлена ​​на экземпляр объекта.

Эта ошибка появляется только при поискеполя, когда они не заполнены каким-либо значением.Я пытался использовать SPFieldLookupValue для проверки на нулевые значения, но все равно получаю ошибку.

Вот как я проверяю на нулевые значения:

SPFieldLookupValue value = new SPFieldLookupValue(listItem[columnDisplayName].ToString()); 
if (value.LookupValue != null)

Любая помощь, ребята?

Ответы [ 2 ]

4 голосов
/ 21 ноября 2011

Причина, по которой вы получаете это исключение, заключается в следующем: listItem[columnDisplayName].ToString(), потому что listItem[columnDisplayName] не имеет значения и возвращает ноль, если вы пытаетесь вызвать ToString() для нулевого объекта, поэтому он выдает «Ссылка на объект не установлена ​​для экземпляра объекта исключение».

Если вы просто хотите проверить, не является ли поле элемента не пустым, сделайте так:

if (listItem[columnDisplayName]!=null) 
{
    //here you can access listItem[columnDisplayName] safely
}
1 голос
/ 20 ноября 2011

У меня была похожая проблема, когда я начинал с SP2010. В этом сообщении есть ответ на вашу проблему .

...