2011-06-07 34 views
0

我想將數據從對象綁定到我的綁定源。綁定數據源時爲什麼爲null引用異常?

我寫了這個:

if (input.PhysicalCharacteristics.Mass != null) 
    massBindingSource.DataSource = input.PhysicalCharacteristics.Mass; 

,但它給我一個空例外。

問題出在哪裏?當我調試它時,我可以看到Mass不是空的 - 但它必須是進入這個條件 - 但是當它試圖在我的綁定源上設置數據源時,它會失敗。怎麼了?

+1

在massBindingSource中使用的DataItems(列)是否存在於要分配的對象中? – Akhil 2011-06-07 18:25:02

+0

其中一些設置爲空 - 例如在此input.physicalCharacteristic.Mass.Value = null - 但我有一個名爲值的文本框,它使用來自數據綁定源的數據。這是一個問題嗎? – 2011-06-07 18:32:33

+0

NULL應該不成問題。你可以嘗試massBindingSource.DataBind();正如Brett所建議的? – Akhil 2011-06-07 18:37:45

回答

1

無論你是否綁定,在.ascx/.aspx中,你試圖訪問的所有屬性都存在嗎?它們是空的嗎?

編輯:從你的評論說什麼,如果他們是空的,我總是分配一個空字符串到textBox.Text這可以通過類似的東西:(我認爲這應該工作)。

textBox.Text = '<%# DataBinder.Eval(Container.DataItem, "Value") ?? "" %>' 
+0

你認爲不調用'DataBind()'導致'NullReferenceException '? – 2011-06-07 18:27:53

+0

@Bala R - 如果.ascx/.aspx邊上發生空引用異常,那麼它可以,對吧? – Brett 2011-06-07 18:31:28

+0

我看不到如何不調用'DataBind()'可以發生異常;除此之外,我們甚至不知道它是否是asp.net異常(通常,但不一定,在winforms應用程序中使用綁定數據源)。 – 2011-06-07 18:37:20

0

將Mass的數據類型轉換爲Massbindingsource的可接受的數據類型。

相關問題