State Management in ASP.NET

Since all ASP.NET online applications are stateless by default, the state of controls is lost for each page submitted to the server. State management preserves the state of a control, web page, object/data, and user in the application.

From the control to the application level, all web programs nowadays require a high level of state management. But what exactly is state management and how is it useful? Let’s find out in this post.

Table of contents

  1. What is state management in ASP.NET?

What is state management in ASP.NET?

ASP.NET online applications are stateless; state management is a way to keep state control and objects in an application. Whenever a page is posted to the server, a new instance of the Web page class is created. If a user enters data into a web application, that data is lost on the round journey from the browser to the server (MSDN). State management keeps and stores the information of any user until the conclusion of the user session reaches in a single line.

Type of state management in ASP.NET

In ASP.NET, there are two types of state management approaches, as shown in the diagram.

Level of state management

  • Control level: By default, state management is provided by controls in ASP.NET.

Client-side state management

Following are the controls of client-side state management techniques in ASP.NET:

  • Hidden Field: A hidden field is an ASP.NET control that can be used to keep modest bits of data on the client. It saves only one value for the variable and is the preferred method when the value of a variable is regularly updated. The client (browser) does not see the hidden field control since it is not rendered. A hidden field, like the value of a regular control, goes with every request.

Server-side state management

  • Session: Session management is a powerful strategy for preserving the state. In most cases, a session is used to store user data and/or to uniquely identify a user (or say browser). A session ID is used by the server to keep track of the current status of user information. When a user submits a request without specifying a session ID, ASP.NET generates one and transmits it with every request and response to the same user.


In this post, we saw how state management is a critical tool for maintaining the state of a control, web page, object/data, and user. It is essential to understand various state management strategies because all web apps of today require a high level of state management.

If you want to read more articles about ASP.NET, take a look at our website for more publications:

Originally published at

We are the technical partner for your online platform and the best employer for web development professionals. Want to know more about ParTech?