2011-06-24 68 views
0

我在VB.NET中編寫了一個ASPX文件。最初這個文件運行成功,但是在添加一個附加參數後,它現在在下面的「peType.DataSource = arrPEType」行上的「對象引用未設置爲對象的實例」上失敗。VB.NET對象引用未設置爲對象的實例

這個錯誤對我來說沒有意義,儘管因爲我有類似的參數'dType',它沒有錯誤。這個錯誤的原因是什麼?

下面是一些我的ASPX代碼文件中:

Sub Page_Load(Sender as Object, E as EventArgs) 
    If Not IsPostback Then 

     Dim TheMonthDate As Date = DateAdd(DateInterval.Month, -1, Today) 
     calStartDate.SelectedDate = CDate((TheMonthDate.Month) & "/1/" & Year(TheMonthDate)).ToString("MM/dd/yyyy") 
     calEndDate.SelectedDate = GlobalFunctions.GlobalF.MonthLastDate(CDate((TheMonthDate.Month) & "/1/" & Year(TheMonthDate)).ToString("MM/dd/yyyy")) 

     Dim arrType as New ArrayList() 
     Dim arrOrgUnit as New ArrayList() 
     Dim arrPEType as New ArrayList() 
     Dim peType As ListBox 

     arrType.Add("Product and Process") 
     arrType.Add("Product")  
     arrType.Add("Process")    
     dType.DataSource = arrType 
     dType.DataBind() 

     arrPEType.Add("-INC") 
     arrPEType.Add("-NC") 
     arrPEType.Add("-QC") 
     peType.DataSource = arrPEType 
     'peType.DataTextField = "DisplayColumnName" 
     'peType.DataValueField = "ValueColumnName" 
     peType.DataBind() 
... 
     Dim TheType as String 
     Dim TheOrgUnit as String 
     Dim PE_Type as String 

     Select Case dType.SelectedValue 
     Case "Product and Process": 
      TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PRODUCT_QXP' Or (SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PROCESS_QXP')" 
     Case "Product": 
      TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PRODUCT_QXP')" 
     Case "Process": 
      TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PROCESS_QXP')" 
     End Select 

     Select Case peType.SelectedValue 
     Case "INC": 
      PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='INC'" 
     Case "NC": 
      PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='NC'" 
     Case "QC": 
      PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='QC'" 
     End Select 
... 
      <td> 
      Product Exception Type: 
      </td> 
      <td> 
      <ASP:DROPDOWNLIST ID="peType" RUNAT="Server" AUTOPOSTBACK="true" /> 
      </td> 

回答

2

你不是你的實例列表框,您只需聲明它。

Dim peType As ListBox() 

...應該是...

Dim peType As New ListBox() 

儘管錯誤可能看起來是模糊的,它告訴你確切的問題。您的對象peType未設置爲對象的實例。

+0

是的!那樣做了!謝謝。 – user371819

+0

@用戶不客氣 –

1

您尚未創建該對象。

您有:

Dim peType As ListBox 

你應該有:

Dim peType As new ListBox 

或被發現從UI現有ListBox

相關問題