首页 > 代码库 > .net cookie
.net cookie
HttpCookie
HttpRequest
HttpResponse
这3个 类 。
之间的关系 。
请求 ,相应 都有一个 public HttpCookieCollection Cookies { get; } 可读取的属性。
简单的说就是 :在一个 webform 中 Request. Cookie 可以读取客户端 所有cookie. 返回 HttpCookie 对象, 然后 返回 的 HttpCookie 对象 可以 设置它的Values(值)、Expires(过期时间)、也可以调用 Clear()来清除该 HttpCookie 对象 的值.
Response.cookie.Add 用来 给客户端写入 cookie
cookie 可以直接覆盖,一下是测试代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testcookie.aspx.cs" Inherits="bootstrapLearn.testcookie" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></head><body> <form id="form1" runat="server"> <div> <label id="lab" runat="server"></label> <input type="text" runat="server" id="username" /> <input type="text" runat="server" id="pwd" /> <input type="button" value=http://www.mamicode.com/"登陆" runat="server" id="bt" onserverclick="Unnamed_ServerClick" /> <input type="button" value=http://www.mamicode.com/"登出" runat="server" id="bt_out" onserverclick="bt_out_ServerClick" /> </div> </form></body></html>
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace bootstrapLearn{ public partial class testcookie : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) bind(); } protected void Unnamed_ServerClick(object sender, EventArgs e) { HttpCookie Cookie = new HttpCookie("testcookie"); Cookie.Values.Add("username", username.Value); Cookie.Values.Add("userpwd", pwd.Value); Cookie.Expires = DateTime.Now.AddMonths(1); Response.Cookies.Add(Cookie); Response.Redirect("testcookie.aspx"); } public void bind() { if (Request.Cookies["testcookie"] != null) { lab.InnerText = ""; HttpCookie cookie = Request.Cookies["testcookie"]; for (int i = 0; i < cookie.Values.Count; i++) { lab.InnerText += cookie.Values[i].ToString(); } } else { lab.InnerText = "没有"; } } protected void bt_out_ServerClick(object sender, EventArgs e) { if (Request.Cookies["testcookie"] != null) { HttpCookie Cookie = Request.Cookies["testcookie"]; Cookie.Values.Clear(); DateTime dts = DateTime.Now;//定义时间对象 TimeSpan ts = new TimeSpan(0, 0, 0, 0);//cookie有效作用时间 Cookie.Expires = dts.Add(ts);//添加作用时间 Response.Cookies.Add(Cookie); } else { lab.InnerText = "没有"; } Response.Redirect("testcookie.aspx"); } }}
Response.Redirect("testcookie.aspx");
这句话是为了 重新发起请求,访问页面,来证明cookie 的状态是否改了。如果不写这句话,可以手动关闭 浏览器 输入 url 来测试。就是说,按钮 登陆登出,的结果,在本次请求中,没法一次性显示。所以我推荐用 ajax 登陆,登出 更好。
.net cookie
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。