2011-11-19 47 views
2

的实例我有具有一定查阅字段SharePoint列表。当我通过代码的项目迭代,我得到以下错误:(SPFieldLookupValue)splistitem抛出对象引用不设置为一个对象的异常

Object reference not set to an instance of an object.

时,他们没有任何价值填充只在查找字段出现此错误。我试图用SPFieldLookupValue来检查空值,但我仍然得到错误。

这是我如何检查空值:

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

任何帮助的家伙?

回答

4

为什么你得到这个异常的原因就在于此:listItem[columnDisplayName].ToString()因为listItem[columnDisplayName]没有任何价值并返回null你想打电话ToString()空对象上,因此引发“对象引用不设置到对象异常的实例”。

如果你只是想检查项目字段不为空,然后做这样的:

if (listItem[columnDisplayName]!=null) 
{ 
    //here you can access listItem[columnDisplayName] safely 
} 
+0

喜亚历山大,非常感谢您的回复。我在这一切一直盯着沿着没有意识到,我没有检查空值的字段项。在其他代码中,我用来检查字段项为null,但这次我依靠SPFieldLookUpValue认为这是检查空值的正确方法。再次感谢您的大力帮助。 –

+0

很可能,将'null'传递给'SPFieldLookupValue'是导致异常的原因; “对象引用未设置...”是一个SharePoint异常,而不是JavaScript内置的异常。 (调用'null.toString()'会导致一个单独的“Uncaught TypeError:无法读取属性'toString'null”。) – jpaugh

1

我也有类似的问题,当我开始与SP2010。这个帖子有the answer to your problem

+0

嗨克里斯,非常感谢您的帮助。这非常有用。问候, –

相关问题