Hướng dẫn quản lý phiên ASP.NET [Ví dụ]

Quản lý phiên ASP.NET

Giao thức HTTP mà tất cả các ứng dụng web hoạt động là giao thức không trạng thái. Bởi không trạng thái, nó chỉ có nghĩa là thông tin không được giữ lại từ yêu cầu này sang yêu cầu khác.

Ví dụ, nếu bạn có một trang đăng nhập có 2 hộp văn bản, một cho tên và một cho mật khẩu. Khi bạn nhấp vào nút Đăng nhập trên trang đó, ứng dụng cần đảm bảo rằng tên người dùng và mật khẩu được chuyển sang trang tiếp theo.

Trong ASP.Net, việc này được thực hiện theo nhiều cách khác nhau. Cách đầu tiên là thông qua một khái niệm có tên ViewState. Đây là nơi ASP.Net tự động lưu trữ nội dung của tất cả các điều khiển. Nó cũng đảm bảo điều này được chuyển sang trang tiếp theo. Điều này được thực hiện thông qua thuộc tính được gọi là ViewState.

Việc nhà phát triển thay đổi bất kỳ điều gì ở trạng thái xem là không lý tưởng. Điều này là do nó chỉ được xử lý bởi ASP.Net.

Đối tượng phiên ASP.NET

Một cách khác là sử dụng một đối tượng được gọi là “Đối tượng phiên”. Đối tượng Session có sẵn trong suốt vòng đời của ứng dụng. Bạn có thể lưu trữ số lượng cặp khóa-giá trị bất kỳ trong đối tượng Phiên. Vì vậy, trên bất kỳ trang nào, bạn có thể lưu trữ một giá trị trong đối tượng Phiên thông qua dòng mã bên dưới.

Session["Key"]=value

Điều này lưu trữ giá trị trong đối tượng Session và phần 'key' được sử dụng để đặt tên cho giá trị. Điều này cho phép giá trị được truy xuất tại thời điểm sau đó. Để truy xuất giá trị, bạn chỉ cần đưa ra câu lệnh bên dưới.

Session["Key"]

Ví dụ về đối tượng phiên ASP.NET

Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng đối tượng Session để lưu trữ tên được nhập vào trường hộp văn bản tên trong trang. Sau đó, chúng tôi sẽ lấy giá trị đó và hiển thị nó trên trang tương ứng. Hãy thêm mã bên dưới vào tệp Demo.aspx.cs.

Sử dụng đối tượng phiên

protected void btnSubmit_Click(object sender,EventArgs e)
{
	Session["Name"] = txtName.Text;

	Response.Write(Session["Name"]);

	lblName.Visible = false; 
	txtName.Visible = false; 
	1stLocation.Visible = false;
	chkC.Visible = false; 
	chkASP.Visible = false; 
	rdMale.Visible = false;
	rdFemale.Visible = false;
	btnSubmit.Visible = false;
}

Giải thích mã: -

  1. Dòng mã đầu tiên lấy giá trị của điều khiển hộp văn bản Name và lưu trữ nó trong đối tượng Session. Bằng cách chỉ định mã của Session[“Name”], chúng ta đang đặt cho thuộc tính một cái tên gọi là “Name”. Bằng cách chỉ định tên cho thuộc tính, việc truy xuất nó vào thời điểm sau đó trở nên dễ dàng hơn.
  2. Dòng mã tiếp theo lấy giá trị được lưu trữ từ đối tượng Session. Sau đó, nó ghi giá trị này thông qua phương thức 'Response.Write' trở lại máy khách.
  3. Cuối cùng, chúng tôi biến tất cả các điều khiển trên biểu mẫu thành vô hình. Nếu chúng tôi không làm điều này, tất cả các điều khiển cộng với các giá trị phản hồi của chúng tôi sẽ được hiển thị cùng nhau.

Sau khi bạn thực hiện những thay đổi trên, bạn sẽ thấy kết quả sau

Đầu ra:

Sử dụng đối tượng phiên

Từ đầu ra, bạn có thể thấy giá trị Phiên của tên đã được truy xuất và hiển thị trong trình duyệt.

Tổng kết

  • Quản lý phiên là một cách ASP.net để đảm bảo thông tin được truyền từ trang này sang trang khác.
  • Thuộc tính trạng thái xem của một trang được sử dụng để tự động chuyển thông tin điều khiển từ trang này sang trang khác.
  • Đối tượng 'Phiên' được sử dụng để lưu trữ và truy xuất các giá trị cụ thể trong trang web.