Results 1 to 2 of 2

Thread: Problem getting selected value from DropDownList using ArrayList as DataSource

Hybrid View

  1. #1
    Join Date
    May 2003

    Question Problem getting selected value from DropDownList using ArrayList as DataSource

    I'm having a problem getting the selected value from a DropDownList that uses an ArrayList as a DataSource. When I select a year and click on the submit button, I get the following error message:

    Object reference not set to an instance of an object.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    I'm not understanding why this isn't working. The years (1900 - 1993) are getting populated into the DropDownList without a problem, but on the btnSubmit_Click job gets submitted, I get that error. And and all help would be appreciated. Hopefully it's something simple that I'm missing.

    Here's the code I'm using:

    'Assign date variables
        Dim dtCurrDate As DateTime = DateTime.Now 'Assign current date
        Dim intCurrYear As Integer = DateTime.Now.Year 'Assign current year
        Dim intVotingYear As Integer = intCurrYear - 18 'Assign voting year
    Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then 'loads with page
                'Declare an array for the dynamic dropdownlist
                Dim colArrayList As New System.Collections.ArrayList()
                'Declare loop variables
                Dim i As Integer = 1900
                Dim intDisplayYear As Integer = i
                'Loop through years
                For i = 1900 To intVotingYear
                    colArrayList.Sort() 'Sort years
                    colArrayList.Reverse() 'Reverse sort/descending order
                'Bind data
                ddlYear.DataSource = colArrayList
                'Add a new listitem to the beginning of the dropdownlist
                ddlYear.Items.Insert(0, New ListItem("- Year -", "")) 'Text, value
                ddlYear.SelectedIndex = ddlYear.Items.IndexOf(ddlYear.Items.FindByText(Session("SelectedYear")))
            End If
    End Sub
    Sub btnSubmit_Click(ByVal Sender As Object, ByVal E As EventArgs)
        'Declare form variables
        Dim strFormYear As String = ddlYear.SelectedItem.Text '<<<<-----THIS IS WHERE I GET THE ERROR
        'NOTE: I've also tried changing the above line to:
        'Dim strFormYear As String = ddlYear.SelectedItem.Value
        '...but that resulted in the same error.
        'Declare session variables
        Session("SelectedYear") = dob_year_form
        If Page.IsValid Then
        End If
    End Sub
    <form id="form1" method="post" runat="server">
        <asp:DropDownList id="ddlYear" runat="server"></asp:DropDownList>
        <asp:Button ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" runat="server" />

  2. #2
    Join Date
    May 2003


    I thought that posting my solution might help others, so here it goes:

    After getting some advice from another forum user, I was able to solve the problem by taking a step back. I did that by using a simple example of the ArrayList at W3Schools at http://www.w3schools.com/aspnet/aspnet_arraylist.asp to compare it to my code. The issue ended up being in the page declaration. I had EnableViewState="false", and I changed it to EnableViewState="true". Once I did that, and I placed the initial code within an "If Not Page.IsPostBack Then...", it worked as it should.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center

Recent Articles