16.1. Reducing Page Size by Selectively Disabling the ViewState

Problem

You want to reduce the size of your application pages to improve performance.

Solution

Review each page of your application and each of its controls to determine if the ViewState is required. Disable the ViewState where it is not explicitly needed.

In the code-behind class for the page, use the .NET language of your choice to do either of the following:

  • Disable the ViewState for the page by setting Page.EnableViewState to False.

  • Disable the ViewState for individual controls by setting the control’s EnableViewState property to False.

To illustrate these performance improvements, we took two examples from Chapter 1 and optimized them by disabling the ViewState. In the first example, we took the ASP.NET page created for Recipe 1.19, which displays a grid containing books and price data, and disabled the ViewState at the page level. Table 16-1 shows the page and ViewState size before and after the optimization.

Table 16-1. ViewState performance improvement for Recipe 1.19 example

Before optimization

After optimization

Page size

18,175 bytes

11,271 bytes

ViewState size

6,953 bytes

49 bytes

In the second example, we have used the ASP.NET page created in Recipe 1.12, replaced the table used for the page header with the header user control created in Recipe 4.1, and then disabled the ViewState for the header control as well as the row controls within the DataGrid that appears within the page body. Example 16-1 shows ...

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.