zhwcn Posted March 16, 2007 Share Posted March 16, 2007 //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 More sharing options...
0 LRoling Posted March 16, 2007 Share Posted March 16, 2007 Is there a specific reason you are using the ViewState? Couldn't you just Session the data? Link to comment Share on other sites More sharing options...
0 zhwcn Posted March 16, 2007 Author Share Posted March 16, 2007 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 More sharing options...
0 azcodemonkey Posted March 16, 2007 Share Posted March 16, 2007 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 More sharing options...
0 BertilDator Posted March 17, 2007 Share Posted March 17, 2007 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 More sharing options...
0 zhwcn Posted March 18, 2007 Author Share Posted March 18, 2007 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 More sharing options...
Question
zhwcn
//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