Cannot store arraylist in session

  • Thread starter Thread starter ricardo.sobral.santos
  • Start date Start date
R

ricardo.sobral.santos

Hi there,

I cannot store an arraylist in a session. I have read some posts and
still found no solution. I am sure it might be something simple, but
since I have been around it for quite sometime I ask for your advice.

Here is my page load.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then
Dim users As New ArrayList
users = User_.ArrayOfUsers ' This gets an array of
users. (User_ is just an object)
Session.Add("users", users)
Session.Add("i", 0)

i = 0
details =
User_.UserID_Image_Thumbnail_LastCheck_Rating_NumberOfVotes(users.Item(i))
Image.ImageUrl = details(1).ToString
lblLastChecked.Text = details(3).ToString
details.Clear()
users.Clear()
Else
i = CType(Session("i"), Integer)
Dim users_tmp As New ArrayList
users_tmp = CType(Session("users"), ArrayList) ' Why is
this empty?!?! I cannot understand...

detailsAfterRating =
User_.UserID_Image_Thumbnail_LastCheck_Rating_NumberOfVotes(users_tmp.Item(i))
details =
User_.UserID_Image_Thumbnail_LastCheck_Rating_NumberOfVotes(users_tmp.Item((i
+ 1)))

Image.ImageUrl = details(1).ToString
lblLastChecked.Text = details(2).ToString

RatedImage.ImageUrl = detailsAfterRating(2).ToString
lblRating.Text = detailsAfterRating(5).ToString
lblPastRate.Text = yourRating.ToString
i = (i + 1)
Session.Add("i", i)
details.Clear()
detailsAfterRating.Clear()
End If
End Sub
 
See inline
Hi there,

I cannot store an arraylist in a session. I have read some posts and
still found no solution. I am sure it might be something simple, but
since I have been around it for quite sometime I ask for your advice.

Here is my page load.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then
Dim users As New ArrayList
users = User_.ArrayOfUsers ' This gets an array of
users. (User_ is just an object)
Session.Add("users", users)

Here you store a *reference* to the arraylist, not the arraylist itself
Session.Add("i", 0)
i = 0
details =
User_.UserID_Image_Thumbnail_LastCheck_Rating_NumberOfVotes(users.Item
(i))
Image.ImageUrl = details(1).ToString
lblLastChecked.Text = details(3).ToString
details.Clear()
users.Clear()

And here you erase the 'users' list, which also erases that list in session,
as that is exactly the same list!
Else
i = CType(Session("i"), Integer)
Dim users_tmp As New ArrayList

Minor note: you don't need "new" here: you don't want to create a new instance
here as that will be overwritten in the next line
 
See inline










Here youstorea *reference* to thearraylist, not thearraylistitself


And here you erase the 'users' list, which also erases that list insession,
as that is exactly the same list!


Minor note: you don't need "new" here: you don't want to create a new instance
here as that will be overwritten in the next line





- Show quoted text -- Hide quoted text -

- Show quoted text -

Tks! That solved some issues. Still how can I then store the values
itself and not the reference?
Sorry for this, but I am quite newbie at asp.net.

Thanks.
 
Back
Top