欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【ASP.NET】巧用Cookie实战详解

程序员文章站 2024-01-28 12:21:16
  上篇介绍了到底什么是cookie,到底是干什么用的,这篇博客具体详细的说一下,cookie到底如何用。 首先建立如图所示的界面,通过该界面可登录到某个网站,具体要...

 

上篇介绍了到底什么是cookie,到底是干什么用的,这篇博客具体详细的说一下,cookie到底如何用。

首先建立如图所示的界面,通过该界面可登录到某个网站,具体要求如下:

·在首次登录后,将登录信息写入到用户计算机的cookie中;
·当再次登录时,将用户计算机中的cookie信息读出并显示,以备用户选择使用;
·可以利用读出cookie中的信息来直接登录网站。

 

【ASP.NET】巧用Cookie实战详解

 

 

操作步骤

 

1、在vs新建一个的空白的.net应用程序,在项目管理器中,添加一个web窗体;使用一个2行3列的表格进行布局;布局结束后,将2个label控件分别置于布局表格的左侧,分别将其text属性设置为用户名和密码,在布局表格中添加两个textbox控件、一个button控件和一个checkbox控件,将button控件的text属性设置为“登录”,将checkbox控件的text属性设置为“记住用户名和密码”。

 

2、添加一个html页面

 

将默认将名称改为login.html

 

3、编写事件处理代码

 

 

protected void button1_click(object sender, eventargs e)
        {

            if (checkbox1.checked)
            {
                response.cookies["id"].expires = new datetime(2016, 2, 24); //用键名为id的cookie设置生存时间
                response.cookies["pw"].expires = new datetime(2016, 2, 24);
                response.cookies["id"].value = textbox1.text; //将键名为id的cookie的值设置为文本框内容
                response.cookies["pw"].value = textbox2.text;
            }
            response.redirect("login.html"); 

        }

首先判断该页面定义的cookie是否为空,若不为空则将cookie中的内容读出并置于textbox1和textbox2两个文本框中,这样用户在自己机器上第二次登录同一个页面时,直接单击【登录】按钮即可,省掉了再次输入用户id和密码的过程

 

 

 

 protected void page_load(object sender, eventargs e)
        {
            if (request.cookies["id"] != null && request.cookies["pw"] != null)
            {
                textbox1.text = request.cookies["id"].value.tostring();
                textbox2.text = request.cookies["pw"].value.tostring();//将键名为id的cookie的值读出,并在文本框textbox2中显示出来
            }

        }

当再次加载页面的时候就会出现如下图所示。

 

 

【ASP.NET】巧用Cookie实战详解

 

 

上面只是简单的展示了几个比较常见的功能(保留用户个人信息,如姓名、密码等,帮助用户快速登录网页),还有很多未知的功能让我们去探索

例如:

·保存用户的个人爱好,设计者可根据cookie中记录的用户爱好来设置网站的风格;

·进行在线购物时,记录用户购买的商品信息;

·记录弹出窗口被弹出的状况,一些页面被打开时会弹出通知或广告窗口,可以使用cookie记录窗口被弹出的情况,了解弹出窗口是否被弹出过,若被弹出过,再次打开页面时就不再弹出该弹出窗口。

 

学习心得:

通过敲这个例子让我更加深入的了解了cookie是如何用的,以前看到这这种类似的文章都躲着不看,感觉肯定难得不行,但是自己尝试后才知道,其实一点都不难,所以学习一定不要怕困难,以上只是鄙人的偏见,有什么意见,或者写的有错误的地方,希望大家帮着看着点。