1.添加cookies
public void AddCookies()
{
HttpCookie cookies = new HttpCookie("Pro");
cookies["name"] = HttpUtility.UrlEncode("大美女");
cookies["sex"] = HttpUtility.UrlEncode("美女");
cookies.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(cookies);
}
2.修改cookies
public void ModCookies()
{
HttpCookie cookies = Request.Cookies["Pro"];
cookies["name"] = HttpUtility.UrlEncode("张三");
cookies["sex"] = HttpUtility.UrlEncode("爷们");
Response.Cookies.Set(cookies);
}
=======================================================================
这次遇到的“杯具”事件之一,当这样修改cookies时,在更新方法中再取这个cookies,
HttpCookie cookies = Request.Cookies["Pro"];
cookies["name"] = HttpUtility.UrlEncode("张三");
cookies["sex"] = HttpUtility.UrlEncode("爷们");
name的值还为大美女,而非张三,(己排除页面缓存原因,更新也确实没有成功)
一定要记得
Response.Cookies.Set(cookies);
=======================================================================
还有就是Cookies中文会出现乱码,要进行url编码和解码。
3.得到cookies (这个比较简单)
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie cookies = Request.Cookies["Pro"];
string name = cookies["name"];
string sex = cookies["sex"];
Response.Write(HttpUtility.UrlDecode(name + " " + sex));
}
4.删除cookies
1.这个方法比较坑爹,总是删不掉
Response.Cookies.Remove("Pro"); //坑爹法,不用。
2.常用的删除方法是强制让Cookie的时间过期。
Response.Cookies["Pro"].Expires = DateTime.Now.AddMinutes(-21);