5.31创建 Cookie 浏览器负责管理客户机中的 Cookie, Cookie需要通过 Response对象发送到浏览器中,发送前需要将其添加到 CoKe 集合中 ookie有3个重要的参数:名称、值和有效期。如果没有设 置 Cookie的有效期,它仍可被创建,但不会被 Response对 象发送到客户端,而是将其作为用户会话的一部分进行维 护,当用户关闭浏览器(会话结東)时该 Cookie将被释放 。这种非永久性 Cookie十分适合用来保存只需要短暂保存 或由于安全原因不能保存在客户机中的信息。 创建 Cookie的语法格式如下: Response. Cookies"名称" Value=值;
◼ 5.3.1 创建Cookie ◼ 浏览器负责管理客户机中的Cookie,Cookie需要通过 Response对象发送到浏览器中,发送前需要将其添加到 Cookie集合中。 ◼ Cookie有3个重要的参数:名称、值和有效期。如果没有设 置Cookie的有效期,它仍可被创建,但不会被Response对 象发送到客户端,而是将其作为用户会话的一部分进行维 护,当用户关闭浏览器(会话结束)时该Cookie将被释放 。这种非永久性Cookie十分适合用来保存只需要短暂保存 或由于安全原因不能保存在客户机中的信息。 ◼ 创建Cookie的语法格式如下: ◼ Response.Cookies["名称"].Value = 值;
例如,创建一个名为“ MyCookie”的 Cookie并为其赋值 “OK”,语句如下: Response. Cookies[" MyCookie"Value =OK 设置 Cookie有效期的语法格式如下 Response. Cookies"名称"] Expires=到期时间; 例如,设置名为“ MyCookie”的 Cookie有效期为1天,语句 如下: ■ Response. Cookies" MyCookie"」 EXpires DateTime. Now. AddDays(1)
◼ 例如,创建一个名为“MyCookie”的Cookie并为其赋值 “OK”,语句如下: ◼ Response.Cookies["MyCookie"].Value = "OK"; ◼ 设置Cookie有效期的语法格式如下: ◼ Response.Cookies["名称"].Expires = 到期时间; ◼ 例如,设置名为“MyCookie”的Cookie有效期为1天,语句 如下: ◼ Response.Cookies["MyCookie"].Expires = DateTime.Now.AddDays(1);
532读取 Cookie 使用 Request对象的 Cookies属性可以读取保存在客户机中指 定 Cookie的值,其语法格式如下: 变量= Request. Cookies"名称"] alue 例如,将名为“ My Cookie”的 Cookie值读出,并赋给变量 GetCookie, 语句如下: string GetCookie="//声明一个字符串变量 if( Request. Cookies" MyCookie'"]!=nul)//判断目标 Cookie 是否存在 GetCookie Request Cookies["MyCookie Value;//irEX 指定 Cookie的值,赋给变量
◼ 5.3.2 读取Cookie ◼ 使用Request对象的Cookies属性可以读取保存在客户机中指 定Cookie的值,其语法格式如下: ◼ 变量 = Request.Cookies["名称"].Value; ◼ 例如,将名为“MyCookie”的Cookie值读出,并赋给变量 GetCookie,语句如下: ◼ string GetCookie = "" //声明一个字符串变量 ◼ if (Request.Cookies["MyCookie"] != null) //判断目标Cookie 是否存在 ◼ { ◼ GetCookie = Request.Cookies["MyCookie"].Value; //读取 指定Cookie的值,赋给变量 ◼ }
533使用多值 Cookie ■前面介绍过对同一网站,客户端存储的 Cookie数量不能超过20个 。若需要存储较多的数据,可考虑使用多值 Cookie。 ■例如,创建一个名为“ Person”的 Cookie集合,其中包含有3个子 属性(对于浏览器来说,只相当于一条 Cookie),语句如下: Response. Cookies["Person"l[P- Name"Value ="zhangsan Response.Cookies[personi[p_email".value=zs(@163.com Response Cookies"Person lI"_Home .Value ="E5
◼ 5.3.3 使用多值Cookie ◼ 前面介绍过对同一网站,客户端存储的Cookie数量不能超过20个 。若需要存储较多的数据,可考虑使用多值Cookie。 ◼ 例如,创建一个名为“Person”的Cookie集合,其中包含有3个子 属性(对于浏览器来说,只相当于一条Cookie),语句如下: ◼ Response.Cookies["Person"]["P_Name"].Value = "zhangsan"; ◼ Response.Cookies["Person"]["P_Email"].Value = "zs@163.com"; ◼ Response.Cookies["Person"]["P_Home"].Value = "北京";
使用下列语句可从上述多值 Cookie中读取数据: yr_ name= Request. Cookies["Person" P Name" Value, yr_email Request Cookies["Person""P_Email". Value, yr_ home= Request. Cookies["Person"ITP_Home"].Value, 或 a string yr_ name Request Cookies["Person". Values(O string yr_ name Request Cookies["Person". Values[1] string yr name= Request. Cookies"Person".Values 2
◼ 使用下列语句可从上述多值Cookie中读取数据: ◼ yr_name = Request.Cookies["Person"]["P_Name"].Value; ◼ yr_email = Request.Cookies["Person"]["P_Email"].Value; ◼ yr_home = Request.Cookies["Person"]["P_Home"].Value; ◼ 或 ◼ string yr_name = Request.Cookies["Person"].Values[0]; ◼ string yr_name = Request.Cookies["Person"].Values[1]; ◼ string yr_name = Request.Cookies["Person"].Values[2];