Asp.net 如何在VB.NET中声明数据源?

Asp.net 如何在VB.NET中声明数据源?,asp.net,vb.net,datasource,Asp.net,Vb.net,Datasource,我在VB.NET中编写了一个ASPX文件。最初,此文件成功运行,但在添加一个附加参数后,它现在在未声明名称“peType”时失败 但这个错误对我来说没有意义,因为我有类似的参数“dType”,它不会出错。这个错误的原因是什么 以下是我的一些ASPX代码文件: Sub Page_Load(Sender as Object, E as EventArgs) If Not IsPostback Then Dim TheMonthDate As Dat

我在VB.NET中编写了一个ASPX文件。最初,此文件成功运行,但在添加一个附加参数后,它现在在未声明名称“peType”时失败

但这个错误对我来说没有意义,因为我有类似的参数“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>
但现在我的错误是: 对象引用未设置为对象的实例

在尝试将数据源绑定到Dropdownlist时,未设置DataTextField和DataValueField属性,因此设置如下:

peType.DataSource = arrPEType
peType.DataTextField = "DisplayColumnName"
peType.DataValueField = "ValueColumnName"
peType.DataBind()

谢谢解决了这个问题!谢谢我试过了,但是我仍然得到了以下代码的错误:啊。我不想唠叨你这么多,但ArrayLists是邪恶的。看起来您需要一个字符串列表。如果我们知道您的.Net版本,这将对我们有所帮助。