• 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?

5 answers to this question

Recommended Posts

  • 0
  LRoling said:
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.

  • 0
  zhwcn said:
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.

  • 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).

  • 0
  jpalo said:
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!

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

    • No registered users viewing this page.
  • Posts

    • Look around you, everybody is making fun of Linux, even the author of this article, my comment about Linux users being dilusional is absolutely true and you've proved it by pulling that "90% of Windows users hate it" out of your ass, if you can't handle jokes and actual facts maybe stay off the internet and go recompile your kernel or something.
    • ChatGPT memory upgrade extends to Free users by Pradeep Viswanathan Back in April, OpenAI announced a major upgrade to ChatGPT’s memory feature. The improved memory allowed ChatGPT to reference a user’s past chats to provide more personalized, relevant, and useful responses. Until today, this enhanced memory was available only to ChatGPT Plus and Pro users. Today, OpenAI announced that this memory upgrade is now rolling out to all logged-in ChatGPT Free users. This is big news, as it will impact the ChatGPT experience for hundreds of millions of users. For example, if a user previously mentioned liking Indian food, ChatGPT may remember that and suggest Indian dishes the next time the user asks, “What should I have for lunch?” However, OpenAI is not rolling out the same full-featured memory offered to paid users. Instead, Free users will receive a lightweight version that provides short-term continuity across conversations. ChatGPT Plus and Pro users will continue to benefit from longer-term memory and a deeper understanding of their preferences. To enable this memory feature, ChatGPT Free users in the EEA (EU + UK), Switzerland, Norway, Iceland, or Liechtenstein can go to Settings > Personalization > Memory > Reference chat history and turn it on. OpenAI will also present a prompt to enable this setting. All ChatGPT Free users outside the above regions will have memory enabled by default. Depending on their preferences, users can manage memory using these two settings: Reference saved memories: Details you’ve explicitly asked ChatGPT to remember, such as your name, favorite color, or dietary preferences. Reference chat history: ChatGPT can use information from your previous chats to make future conversations more helpful. While the capabilities differ between the free and paid tiers, this latest improvement to ChatGPT will deliver responses that feel more relevant and personalized for millions of users.
    • Actually there is rules about trolling here on Neowin. Thanks for playing but we are done here.
    • Do you know the difference between "crying over" and "making fun of"?
  • Recent Achievements

    • Week One Done
      jrromero17 earned a badge
      Week One Done
    • One Month Later
      jrromero17 earned a badge
      One Month Later
    • Conversation Starter
      johnwin1 earned a badge
      Conversation Starter
    • One Month Later
      Marwin earned a badge
      One Month Later
    • One Year In
      fred8615 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      242
    2. 2
      snowy owl
      156
    3. 3
      ATLien_0
      144
    4. 4
      +FloatingFatMan
      138
    5. 5
      Xenon
      133
  • Tell a friend

    Love Neowin? Tell a friend!