There are examples here on Stackflow on how to add ListBox items to the session and then repopulate the items back to the ListBox but for some reason it is not working. 

Here's the code snippet 

```
Private Sub btnSelect_Click(sender As Object, e As EventArgs) Handles btnSelect.Click

    If lstFields.SelectedIndex >= 0 Then

        For i As Integer = 0 To lstFields.Items.Count - 1
            If lstFields.Items(i).Selected Then
                If Not arrayFields.Contains(lstFields.Items(i)) Then
                    arrayFields.Add(lstFields.Items(i))
                    Session("items") = arrayFields
                End If
            End If
        Next

        For i As Integer = 0 To arrayFields.Count - 1
            If Not lstSelected.Items.Contains((CType(arrayFields(i), ListItem))) Then
                lstSelected.Items.Add((CType(arrayFields(i), ListItem)))
            End If

            lstFields.Items.Remove((CType(arrayFields(i), ListItem)))
        Next

        lstSelected.SelectedIndex = -1        

End Sub

```

When I try to repopulate the items back to ListBox using the For Each loop, the error I kept getting using VS 2015 that shows: 

An exception of type 'System.InvalidCastException' occurred in FocusVB.dll but was not handled in user code

Additional information: Unable to cast object of type 'System.Web.UI.WebControls.ListBox' to type 'System.Collections.IEnumerable'.

Here's the snippet of the for each loop: 

```
For Each item As ListItem In Session("item")
   lstSelected.Items.Add(New ListItem(item.Text, item.Value))
Next

```

Am I missing somewhere in the code?