Ссылка на объект VB.NET не установлена ​​на экземпляр объекта - PullRequest
0 голосов
/ 24 июня 2011

Я написал файл ASPX в VB.NET.Первоначально этот файл был успешно выполнен, но после добавления одного дополнительного параметра он завершается с ошибкой «Ссылка на объект не установлена ​​для экземпляра объекта» on-line «peType.DataSource = arrPEType» ниже.

Эта ошибка не имеет смысладля меня, хотя, потому что у меня есть аналогичный параметр, '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 ]

2 голосов
/ 24 июня 2011

Вы не создаете экземпляр своего ListBox, вы просто объявляете его.

Dim peType As ListBox()

... должно быть ...

Dim peType As New ListBox()

Хотя ошибка может показаться расплывчатой, она говорит о точной проблеме. Ваш объект, peType , не настроен на экземпляр объекта.

1 голос
/ 24 июня 2011

Вы не создали объект.

У вас есть:

Dim peType As ListBox

Вы должны иметь:

Dim peType As new ListBox

или найти существующий ListBox в вашем пользовательском интерфейсе.

...