6.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 do not want to be readable 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 then 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 Example 6-14 through Example 6-18. Example 6-14 shows the .aspx file. Example 6-15 and Example 6-16 show the VB and C# code-behind files. Examples Example 6-17 and Example 6-18 show the VB and C# data service class. Figure 6-4 shows the form produced by the application.

Maintaining page state with ViewState

Figure 6-4. Maintaining page state with ViewState

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 quite different. Unlike the Application and Session objects, ...

Get ASP.NET Cookbook 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.