State is the current value of all the controls and variables for the current user in the current session. The web is inherently a stateless environment, which means that every time a page is posted to the server and then sent back to the browser, the page is recreated from scratch. Unless you explicitly preserve the state of all the controls before the page is posted, the state is lost and all the controls are created with default values. One of the great strengths of ASP.NET is that it automatically maintains state for server controls -- both HTML and ASP. This section will explore how that is done and how you can use the ASP.NET state management capabilities.
ASP.NET manages three types of state:
View state (which is saved in the state bag)
The following sections will examine each type of state in turn.
The view state is the state of the page and all its controls. The view state is automatically maintained across posts by the ASP.NET Framework. When a page is posted to the server, the view state is read. Just before the page is sent back to the browser the view state is restored.
The view state is saved in the state bag (described in the next section) via hidden fields on the page that contain the state encoded in a string variable. Since the view state is maintained via form fields, it works with all browsers.
If there is no need to maintain the view state for a page, you can boost performance by disabling view state for that page. ...