• 0

How to save ArrayList object to ViewState?


Question

//for example

[serializable]

class MyItem

{

public string = "";

}

I created several MyItem objects and saved them to an ArrayList "al". Then I store the arraylist to ViewState

ViewState["Items"] = al;

When the page postback, I retrieve the arraylist

ArrayList al = (ArrayList)ViewState["Items"];

But there are nothing in al. Why?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
Is there a specific reason you are using the ViewState? Couldn't you just Session the data?

I want to design a simple search page, when the search is done, you must display the results, so I want to save the results to a Arraylist that I can display them again without reconnect the database when the page postpack. Do you have any other good plans? thanks.

Link to comment
Share on other sites

  • 0
I want to design a simple search page, when the search is done, you must display the results, so I want to save the results to a Arraylist that I can display them again without reconnect the database when the page postpack. Do you have any other good plans? thanks.

Use either Session or System.Web.Caching.Cache. Don't use the ViewState if you can avoid it.

Link to comment
Share on other sites

  • 0

The question is: when are you storing your ArrayList in ViewState and when are you trying to access the stored value again? Could be that the ViewState is not yet initialized when you're trying to access it to fetch the ArrayList.

If you're using Visual Studio you could try to debug and step through your code to ensure that things are done in correct order (ASP.NET Page Life Cycle).

Link to comment
Share on other sites

  • 0
The question is: when are you storing your ArrayList in ViewState and when are you trying to access the stored value again? Could be that the ViewState is not yet initialized when you're trying to access it to fetch the ArrayList.

If you're using Visual Studio you could try to debug and step through your code to ensure that things are done in correct order (ASP.NET Page Life Cycle).

yeah, you are right. I modified my code, put the viewstate retrieve block into OnLoad(), this time it works as I expect. Thank U!

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.