ASP.NET Cookie操作示例

需积分: 12 0 下载量 153 浏览量 更新于2024-09-12 收藏 659B TXT 举报
"本文档介绍了如何在ASP.NET中定义和使用Cookie。通过示例代码,展示了创建、设置值、设置过期时间和读取Cookie的基本操作。" 在Web开发中,Cookie是一种在客户端和服务器之间传递信息的技术。它们主要用于存储用户状态、会话信息或个性化设置。在ASP.NET中,我们可以使用`HttpCookie`类来操作Cookie。以下是对标题和描述中涉及的知识点的详细说明: 1. 创建Cookie: 创建一个`HttpCookie`对象,首先需要实例化该类,并提供一个唯一的名称。在给定的代码中,创建了一个名为"log_info"的Cookie: ```csharp HttpCookie hck = new HttpCookie("log_info"); ``` 2. 设置Cookie值: `HttpCookie`对象有一个`Values`属性,它是一个`NameValueCollection`,可以存储多个键值对。在示例中,我们设置了两个键值对,分别是"username"和"usertype",它们分别从文本框`tb_Name`和下拉列表`ddl_UsetType`获取: ```csharp hck.Values["username"] = tb_Name.Text.Trim(); hck.Values["usertype"] = ddl_UsetType.SelectedItem.Text.Trim(); ``` 3. 设置Cookie过期时间: 默认情况下,Cookie在浏览器关闭后即失效。如果需要让Cookie在一段时间后过期,可以设置`Expires`属性。这里设置Cookie在一分钟后过期: ```csharp DateTime dtNow = DateTime.Now; TimeSpan tsMinute = new TimeSpan(0, 1, 0, 0); // 1分钟 hck.Expires = dtNow + tsMinute; ``` 4. 添加Cookie到响应: 一旦Cookie被创建并设置好属性,我们需要将其添加到响应中,以便发送到客户端: ```csharp Response.Cookies.Add(hck); ``` 5. 读取Cookie: 在后续请求中,可以使用`Request.Cookies`集合来读取Cookie。如果Cookie存在,可以通过键名访问其值: ```csharp if (Request.Cookies["log_info"] != null && Request.Cookies["log_info"].Values["username"] != null) this.Response.Write(Request.Cookies["log_info"].Values["username"].ToString()); else this.Response.Write("当前位置没有Cookie"); ``` 总结来说,这段代码演示了如何在ASP.NET中创建一个包含用户信息的Cookie,设置其过期时间,并在后续请求中读取这些信息。在实际应用中,Cookie常用于实现用户登录状态的保持、个性化设置的存储等功能。