ASP.NET 会话管理教程 [示例]
ASP.NET 会话管理
所有 Web 应用程序都使用 HTTP 协议,该协议是一种无状态协议。无状态是指信息不会从一个请求保留到另一个请求。
例如,如果您有一个登录页面,其中有两个文本框,一个用于输入姓名,另一个用于输入密码。当您单击该页面上的登录按钮时,应用程序需要确保用户名和密码传递到下一页。
在 ASP.Net 中,这可以通过多种方式实现。第一种方式是通过称为 ViewState 的概念。ASP.Net 会自动存储所有控件的内容。它还确保将其传递到下一页。这是通过称为 ViewState 的属性实现的。
对于开发人员来说,更改视图状态中的任何内容都不是理想的选择。这是因为它应该仅由 ASP.Net 处理。
ASP.NET 会话对象
另一种方法是使用名为“Session 对象”的对象。Session 对象在应用程序的整个生命周期中都可用。您可以在 Session 对象中存储任意数量的键值对。因此,在任何页面上,您都可以通过以下代码行将值存储在 Session 对象中。
Session["Key"]=value
这会将值存储在 Session 对象中,并使用“key”部分为值命名。这样可以在以后的某个时间点检索该值。要检索值,您只需发出以下语句即可。
Session["Key"]
ASP.NET Session 对象示例
在我们的示例中,我们将使用 Session 对象来存储页面中名称文本框字段中输入的名称。然后我们将检索该值并相应地将其显示在页面上。让我们将以下代码添加到 Demo.aspx.cs 文件中。
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; }
代码说明:-
- 第一行代码获取 Name 文本框控件的值并将其存储在 Session 对象中。通过指定 Session[“Name”] 的代码,我们为该属性赋予了一个名为“Name”的名称。通过为该属性指定名称,以后检索它变得更加容易。
- 下一行代码从 Session 对象中检索存储的值。然后通过“Response.Write”方法将该值写回客户端。
- 最后,我们将窗体上的所有控件设为不可见。如果不这样做,所有控件加上我们的响应值将一起显示。
完成上述更改后,您将看到以下输出
输出:
从输出中,您可以看到 name 的 Session 值已被检索并显示在浏览器中。
结语
- 会话管理是一种 ASP.net 以确保信息从一个页面传递到另一个页面。
- 页面的视图状态属性用于自动将控件的信息从一个页面传递到另一个页面。
- “Session”对象用于存储和检索网页内的特定值。