2009-06-10 76 views
0

我收到以下錯誤,而我提交表單後,我在我的設計中添加一個下拉框錯誤而在網站

System.NullReferenceException增加一個下拉:對象引用不設置到對象的實例。在WebApplication1._Default.collectEmailBodyText()在C:\ v1.5_production_05June09 \ Default.aspx.vb:線219

下面是額外兩行i的collectEmailBodyText加入()

tempPanelDropDownBox = DirectCast(form1.FindControl(("txt_" & panelUsed & "_ddinput") + counter.ToString()), DropDownList) 

tempCollector = tempCollector +「:」+ tempPanelDropDownBox.SelectedItem.Text

回答

2

至於其他的海報說,這很可能是在調用FindControl方法返回Nothing(空),所以後來試圖訪問像SelectedItem屬性將導致NullReferenceException

您的代碼FindControl("txt_" & panelUsed & "_ddinput") + counter.ToString())正在試圖找到一個下拉列表,其中某些字符串的服務器ID連接在一起,然後在末尾看起來像是一個可變數字。這似乎有點奇怪;你真的想要最後的號碼嗎?當使用動態添加的控件時,我期待類似的東西。

2

我猜想最有可能的問題是那個form1.FindControl沒有找到控件。我建議首先執行查找控制,然後在嘗試訪問它的任何值之前檢查它是否爲空。

2

正如例外說的其中一個對象有一個空值。最簡單的事情就是在行上設置一個斷點,以獲得異常,並使用QuickWatch之類的東西來評估行的不同部分,以發現哪些部分返回null。

最明顯的是FindControl返回null。