7.4. Preserving Information Across Multiple Requests for a Page

Problem

You have a page that contains complex object information you need to preserve between requests for the page. The data contains information you want to be unreadable in the rendered HTML, and you do not want to use a database to preserve the information.

Solution

Use the ViewState property of the Page object to store the data. You can access the data when the page is submitted back to the server.

In the code-behind class for the page, use the .NET language of your choice to add all the code necessary to handle the storage and recovery of the object data to and from the ViewState.

In a separate class file, use the .NET language of your choice to define the container in which you will store the data in the ViewState.

The application that illustrates this solution is shown in Examples 7-16, 7-17, 7-18, 7-19 through 7-20. Example 7-16 shows the .aspx file. Examples 7-17 and 7-18 show the VB and C# code-behind files. Examples 7-19 and 7-20 show the VB and C# data service class. Figure 7-4 shows the form produced by the application.

Discussion

The ViewState is an object similar to the Application and Session objects discussed in the previous recipes; however, its method of data storage is different. Unlike the Application and Session objects, which are stored in server memory, the ViewState is stored in a hidden form field within the HTML sent to the browser. This property lets you store page state information directly in ...

Get ASP.NET 2.0 Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.