asp.net与cookie基础 #region 公共属性 private const string CookieName = "Account"; private const string CookieName_AccountId = "AccountId"; private const string CookieName_AccountName = "AccountName"; private const string CookieName_Path = "/"; private const string CookieName_Domain = "abc.com"; private const int CookieExpires_Second = 1 * 365 * 24 * 60 * 60;//1年 #endregion /// <summary> /// 写入Cookie /// </summary> protected void BtnW_Click(object sender, EventArgs e) { string sId = this.txtIdW.Text = this.txtIdW.Text.Trim(); string sName = this.txtNameW.Text = this.txtNameW.Text.Trim(); int iId = 0; if (Int32.TryParse(sId, out iId) && sName != string.Empty) { HttpCookie cookie_account = new HttpCookie(CookieName); //cookie_account.Domain = CookieName_Domain;//test,没意义,设置不了,它自己会判断你是否真实的这个域名 cookie_account.Path = CookieName_Path;//设置为"/"则下面的虚拟目录也可以用这个cookie cookie_account.HttpOnly = true;//只能通过http访问,不能通过客户端脚本访问 //cookie_account.Expires = DateTime.Now.AddSeconds(CookieExpires_Second);//不设置过期则浏览器关闭即失效 cookie_account[CookieName_AccountId] = iId.ToString(); cookie_account[CookieName_AccountName] = sName.ToString(); Response.Cookies.Add(cookie_account); } else { this.lblInfo.Text = "请填写正确的用户ID(数字)和名称."; } } /// <summary> /// 删除Cookie /// </summary> protected void btnDel_Click(object sender, EventArgs e) { HttpCookie cookie_account = new HttpCookie(CookieName); //cookie_account.Domain = CookieName_Domain;//test cookie_account.Path = CookieName_Path; cookie_account.HttpOnly = true; cookie_account.Expires = DateTime.Now.AddYears(-1);//已过期,即删除 Response.Cookies.Add(cookie_account); Response.Redirect(Request.RawUrl); } /// <summary> /// 读取Cookie /// </summary> protected void BtnR_Click(object sender, EventArgs e) { string sId = "", sName = ""; if (Request.Cookies[CookieName] != null) { if (Request.Cookies[CookieName][CookieName_AccountId] != null) sId = Request.Cookies[CookieName][CookieName_AccountId]; if (Request.Cookies[CookieName][CookieName_AccountName] != null) sName = Request.Cookies[CookieName][CookieName_AccountName]; } this.txtIdR.Text = sId; this.txtNameR.Text = sName; } //