2011-11-19 48 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

嗨克里斯,非常感謝您的幫助。這非常有用。問候, –

相關問題