State management is the process by which you maintain state and page information over multiple requests for the same or different pges.
Types of State Management
There are two types State Management
1. Client-Side State Management
This stores information on the client's computer by embedding the information into a Web page, a uniform resource locator (url), or a cookie. The techniques available to store the state information at the client end are listed down below.
a. View State - Asp.Net uses View State to track the values in the Controls. You can add custome values to the view state. It is used by the Asp.Net page framework to automatically save the values of the page and of each control just prior to rendering to the page. When the page is posted, one of the first tasks performed by page processing is to restore view state.
b. Control State - If you create a custom control that requires view state to work properly, you should use control state to ensure other developers don't break your control by disabling view state.
c.Hidden fields - Like view state, hidden fields store data in an HTML form without displaying it in the user's browser. The data is available only when the form is processed.
d. Cookies - Cookies store a value in the user's browser that the browser sends with every page request to the same server. Cookies are the best way to store state data that must be available for multiple Web pages on a web site.
e. Query Strings - Query strings store values in the URL that are visible to the user. Use query strings when you want a user to be able to e-mail or instant message state data with a URL.
2. Server-Side State Management
a. Application State - Application State information is available to all pages, regardless of which user requests a page.
b. Session State - Session State information is available to all paes opened by a user during a single visit.
Both application state and session state information is lost when the application restarts. To persist user data between application restarts, you can store it using profile properties.