Cannot store arraylist in session

  • Thread starter ricardo.sobral.santos
  • 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
 
H

Hans Kesting

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
 
R

ricardo.sobral.santos

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.
 
A

Aidy

Tks! That solved some issues. Still how can I then store the values
itself and not the reference?

You can't. Just delete the users.Clear line from your code.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top