第52章、Cookies应用

 

【知识要点】
  (1)了解不同页面之间的传值
  (2)Cookies的应用

【问题提出】
  到目前为止,我们所学习都是单页面赋值或运算,如果我们打算在不同的页面传值该如何做呢?

  

【在线指导】

  在不同页进行传值,ASP.NET为我们提供了很多种方法,Cookies也是其中一种,而且非常重要的一种方法。如果你打算了解更多:ASP.NET页面间传递数值的方式有哪些?

  Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问站点时,程序就可以检索以前保存的信息。

  从技术上讲,Cookie是小段保存在客户端的数据。

关于Cookie的知识还需要了解以下几点。

  ·Cookie只是一段字符串,并不能执行。
  ·大多数浏览器规定Cookie大小不超过4K,每个站点能保存的Cookie不超过20个,所有站点保存的Cookie总和不超过300个。
  ·除了Cookie外,几乎没有其他的方法在客户端的机器上写入数据。

  在使用Cookie时,必须意识到其固有的安全弱点。Cookie毕竟是存放于客户端的。因此,不要在Cookie中保存保密信息,如用户名、密码、信用卡号等。在Cookie中不要保存不应该由用户掌握的内容,也不要保存可能被其他窃取Cookie的人控制的内容。

  我们分别建立两个页面:Cookies-A.aspx和Cookies-B.aspx。

Cookies-A.aspx.cs代码:
  protected void Page_Load(object sender, EventArgs e)
  {
    HttpCookie hcUserName = new HttpCookie("UserName");
    hcUserName.Value = "MrJiang";
    hcUserName.Expires = DateTime.Now.AddDays(1);
    Response.Cookies.Add(hcUserName);
  }
-------------------------------------------------------------------------------------------
Cookies-B.aspx.cs代码:
  protected void Page_Load(object sender, EventArgs e)
  {
    HttpCookie hcUserName = Request.Cookies["UserName"];
    if (hcUserName != null)
    {
      Response.Write(string.Format("用户名:{0}<br/>",hcUserName.Value);
    }
  }

1、设计界面

  (1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。

  (2)在“解决方案资源管理器”中添加“Cookies-A.aspx”、“Cookies-B.aspx”页面。

  

2、添加代码

  (1)双击Cookies-A.aspx页面空白处。

  我们在Page_Load()中间输入:

  Cookies["UserName"] = "MrJiang";

  (2)双击Cookies-B.aspx页面空白处。

  我们在Page_Load()中间输入:

  Response.Write(Cookies["UserName"].ToString());

讲解:

  Cookies常常用在用户登录之后保存部分信息,例如用户名等,这个我们在后面章节讲“用户登录”时再来体会Cookies的应用场景。

  (3)选择“Cookies-A.aspx”,单击右键菜单选择“从浏览器中查看……”。

  

  (4)选择“Cookies-B.aspx”,单击右键菜单选择“从浏览器中查看……”。

  

  Cookie虽然是一个简单实用的对象,但是我们也要注意Cookie的工作原理、大小限制以及安全性等,大致可以归纳为以下几点。
  ·存储的物理位置。客户端的Cookies文件夹内。
  ·存储的类型限制。字符串。
  ·状态使用的范围。当前请求上下文的上下文都能访问到Cookie,Cookie对每个用户来说都是独立的。
  ·存储的大小限制。每个Cookie不超过4K数据。每个网站不超过20个Cookie。所有网站的Cookie总和不超过300个。
  ·生命周期。每个Cookie都有自己的过期时间,超过了过期时间后失效。
  ·安全与性能。存储在客户端,安全性差。对于敏感数据建议加密后存储。
  ·优点缺点与注意事项。可以很方便地关联网站和用户,长久保存用户设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是cookies、sessionStorage和localStorage的应用场景、用法和区别: 1. Cookies: - 应用场景:Cookies主要用于在浏览器和服务器之间传递数据,常用于用户身份验证、记住用户偏好设置等。 - 用法:可以使用JavaScript的`document.cookie`来读取、设置和删除cookie。 - 区别: - 数据有效期:Cookies可以设置过期时间,可以在浏览器关闭后仍然保持有效。 - 存储大小:Cookies的存储大小限制为4KB。 - 作用域:Cookies在所有同源窗口中都是共享的。 2. sessionStorage: - 应用场景:sessionStorage用于在浏览器窗口关闭前保存数据,常用于临时保存会话数据。 - 用法:可以使用JavaScript的`sessionStorage`对象来读取、设置和删除sessionStorage中的数据。 - 区别: - 数据有效期:sessionStorage仅在当前浏览器窗口关闭前有效。 - 存储大小:sessionStorage的存储大小限制比Cookies大得多,可以达到5MB或更大。 - 作用域:sessionStorage不在不同的浏览器窗口中共享。 3. localStorage: - 应用场景:localStorage用于长期保存数据,常用于持久化保存用户的偏好设置、缓存数据等。 - 用法:可以使用JavaScript的`localStorage`对象来读取、设置和删除localStorage中的数据。 - 区别: - 数据有效期:localStorage始终有效,长期保存。 - 存储大小:localStorage的存储大小限制比Cookies大得多,可以达到5MB或更大。 - 作用域:localStorage在所有同源窗口中都是共享的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋会全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值