5-5/6 跨页面传值之Cookie

Cookie是放在客户端电脑的小文本文件;

是一种能够让网站服务器把少量数据存储到客户端的硬盘或内存中,或是从客户端的硬盘读取数据的一种技术;

保存的信息片段以“键/值”对的形式存储;

一个网站只能取得它放在用户计算机中的信息,它无法从其他的Cookies文件中取得信息,也无法得到用户计算机上的其他任何信息;

5-5/6 跨页面传值之Cookie

服务器对Cookie设置的指令是通过客户端的浏览器写入客户端的硬盘中;

5-5/6 跨页面传值之Cookie5-5/6 跨页面传值之Cookie

5-5/6 跨页面传值之Cookie

5-5/6 跨页面传值之Cookie

注意:Request.Cookies["animal"]是一个对象;



传送页面,在Button控件中实现Cookie的设置:


5-5/6 跨页面传值之Cookie


注意删除Cookie与删除变量的区别:

变量存放在内存中,服务器可以直接操作删除,Cookie存在与客户端的硬盘中,服务器不能直接删除;

5-5/6 跨页面传值之Cookie

删除Cookie的代码实现:

5-5/6 跨页面传值之Cookie


Cookie对象的常用属性:

Expires:    获取或设置此Cookie的过期日期和时间;

Name:    获取或设置Cookie的名称;

Value:    获取或设置单个Cookie值;

Value说:    获取在单个Cookie对象中包含的键值对的集合;


Cookie的使用:

使用之前在自己的程序中引用System.Web命名空间:using System.Web;

对象Request和Response都提供一个Cookie集合,可以利用Response对象设置Cookies的信息,使用Request对象获取

Cookies的信息;


//创建一个Cookie的实例:

HttpCookie cookie = new HttpCookie("test");

cookie.Values.Add("Name", "张三");

Response.Cookie.Add(cookies);

该Cookie被添加;


//为Cookie设置一年的生命周期

cookie.Expires = DateTime.NowAddYears(1);


//利用Cookie的名字从Request.Cookie集合中取得信息:

HttpCookie cookie1 = Request.Cookies["test"];

string name;

if(cookie1 != null)

{

    name = cookie1.Values["Name"];

}


修改Cookie的值:

修改某个Cookie实质上是指用新的值创建新的Cookie,并把该Cookie发送到浏览器(通过浏览器进行修改),覆盖客户机上旧的Cookie;

实例:修改用于存储站点访问次数的Cookie的值

int counter;

if(Request.Cookies("counter")==null)

{    counter = 0;    }

else

{    counter++;    }

Reponse.Cookies("counter").Value = counter.ToString;

Respnse.Cookies("counter").Expires = DateTime.Now.AddDays();


删除Cookie:(实质为修改Cookie的一种形式)

删除Cookie是修改Cookie的一种形式。由于Cookie 位于用户的计算机中,所以无法将其直接删除,可以通过浏览器来删除Cookie;


删除Cookie的代码:

HttpCookie cookie = new HttpCookie("test");

int limit = Request.Cookie.Count;    //获取当前域的Cookie的数量

for(int i=0; i<limit; i++)

{

    cookie = Request.Cookies(i);        //读取当前Cookie

    cookie.Expires = DateTime.Now.AddDays(-1);    //设置过期

    Response.Cookies.Add(cookie);     //覆盖

}


单值Cookie结构,一个主键名称对应一个值:

5-5/6 跨页面传值之Cookie

 

多值Cookie结构:

主键名称不相同,子键名称可以相同;

5-5/6 跨页面传值之Cookie


5-5/6 跨页面传值之Cookie


5-5/6 跨页面传值之Cookie


5-5/6 跨页面传值之Cookie


5-5/6 跨页面传值之Cookie


多值主键添加的代码:

5-5/6 跨页面传值之Cookie

读取多值主键的代码:

5-5/6 跨页面传值之Cookie

删除多值主键的代码:

5-5/6 跨页面传值之Cookie


子键的修改:

5-5/6 跨页面传值之Cookie

子键修改的代码:

    5-5/6 跨页面传值之Cookie

 

子键的删除:

5-5/6 跨页面传值之Cookie