• 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

    • I thought I saw that one, and yeah, it was awhile ago, too..
    • Jumping unicorns says that I forgot you. I never grunt.
    • Microsoft can't help break Windows Outlook as even opening an email now sends it crashing by Sayan Sen It is no surprise that right now, Microsoft's priority is to move users onto the New Outlook for Windows if they haven't done so already. The company began default-deployment of the new app on fresh Microsoft 365 systems and also made switching between the New app and the classic app easier. At the same time, the company is also trying to improve the new app as it recently added yet another feature that will allow people to use the app without an internet connection, and it also blocked more file types to improve security. Perhaps as a consequence of this relentless pursuit, the classic Outlook app has become quite prone to bugs and issues in recent times as Microsoft may be losing its focus. For example, in April, the downloads for Classic Outlook broke and more recently, this month, the tech giant confirmed that a major Calendar feature upgrade has broken the app in several different ways. Microsoft has provided workarounds for several of the issues so check this article out if you are having problems. And the bugs just keep on coming as Microsoft earlier today confirmed that opening emails or starting a new email will now crash the application, and it affects all channels. The company explains: Opening a mail on an email client is probably the most common and basic functionality a user is expected to do, so it is annoying to see such a bug not getting caught during testing. Again, this perhaps indicates that Microsoft's focus maybe elsewhere at the moment. The company has shared the Windows Event Viewer Log for the crash and the problematic OLMAPI32 DLL file is related to Microsoft Messaging Application Programming Interface (MAPI). The issue reminds us of the similar OLEAUT32 dll issue fix in our recent ReactOS article. The event viewer log notes: Faulting application name: OUTLOOK.EXE, version: 16.0.14334.20090, time stamp: 0x683fe030 Faulting module name: OLMAPI32.DLL, version: 16.0.14334.20090, time stamp: 0x683ff910 Exception code: 0xc0000409 Fault offset: 0x00196e1c Faulting process id: 0x9100 Faulting application start time: 0x01dbdbe04fe54514 Faulting application path: C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE Faulting module path: C:\Program Files (x86)\Microsoft Office\root\Office16\OLMAPI32.DLL Thankfully, Microsoft has issued a workaround for the problem as it currently investigates the bug by manually creating a FORMS2 folder which should exist at the following address: C:\Users\\AppData\Local\Microsoft\FORMS2. Microsoft explains: You can find the support article for the issue here on Microsoft's official website.
    • I have no issue with a service not being offered free. That's perfectly understandable. I do have issue with seeing ads literally everywhere these days, though, plastered in layers over every website and in every app. Especially with how annoying they tend to be (hell, many ads these days even promote literal scams). That's why people use ad blockers. Let me choose. Offer an ad-free experience for a couple of bucks (but be reasonable, don't get too greedy) or ads for free access. Don't make it ads or nothing.
  • Recent Achievements

    • Week One Done
      korostelev earned a badge
      Week One Done
    • Week One Done
      rozermack875 earned a badge
      Week One Done
    • Week One Done
      oneworldtechnologies earned a badge
      Week One Done
    • Veteran
      matthiew went up a rank
      Veteran
    • Enthusiast
      Motoman26 went up a rank
      Enthusiast
  • Popular Contributors

    1. 1
      +primortal
      687
    2. 2
      ATLien_0
      268
    3. 3
      Michael Scrip
      183
    4. 4
      +FloatingFatMan
      177
    5. 5
      Steven P.
      139
  • Tell a friend

    Love Neowin? Tell a friend!