2011-06-24 14 views
0

VB.NETでASPXファイルを作成しました。もともとこのファイルは正常に実行されましたが、追加のパラメータを1つ追加すると、以下の "peType.DataSource = arrPEType"行の "オブジェクトのインスタンスに設定されていないオブジェクト参照"に失敗します。VB.NETオブジェクト参照がオブジェクトのインスタンスに設定されていません

このエラーは私には似ていますが、エラーではない「dType」というパラメータがあります。このエラーの原因は何ですか?あなたのListBoxコントロールをインスタンス化していない

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

、あなたは、単にそれを宣言:

は、ここに私のASPXコードファイルの一部です。エラーがあいまいなように見えるかもしれないが

Dim peType As ListBox() 

は... ...

Dim peType As New ListBox() 

、それはあなたの正確な問題を語っていますする必要があります。あなたのオブジェクトpeTypeは、オブジェクトのインスタンスに設定されていません。

+0

はい!それはそれをした!ありがとう。 – user371819

+0

@userようこそ –

1

オブジェクトを作成していません。

あなたは持っている:

Dim peType As ListBox 

あなたが持っている必要があります。

Dim peType As new ListBox 

たり、UIから既存のListBoxを見つけることを。