上篇介绍了究竟什么是Cookie。究竟是干什么用的,这篇博客具体具体的说一下。Cookie究竟怎样用。

首先建立如图所看到的的界面。通过该界面可登录到某个站点。详细要求例如以下:

·在首次登录后,将登录信息写入到用户计算机的Cookie中;

     ·当再次登录时。将用户计算机中的Cookie信息读出并显示。以备用户选择使用;

     ·能够利用读出Cookie中的信息来直接登录站点。

 操作步骤

1、在VS新建一个的空白的asp.net应用程序。在项目管理器中。加入一个Web窗口;使用一个2行3列的表格进行布局;布局结束后。将2个Label控件分别置于布局表格的左側,分别将其Text属性设置为username和password,在布局表格中加入两个TextBox控件、一个Button控件和一个CheckBox控件。将Button控件的Text属性设置为“登录”。将CheckBox控件的Text属性设置为“记住username和password”。

2、加入一个HTML页面

将默认将名称改为login.html

3、编写事件处理代码

<span style="font-family:KaiTi_GB2312;font-size:18px;">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"); }</span>

首先推断该页面定义的Cookie是否为空。若不为空则将Cookie中的内容读出并置于TextBox1和TextBox2两个文本框中。这样用户在自己机器上第二次登录同一个页面时,直接单击【登录】button就可以,省掉了再次输入用户ID和password的过程

<span style="font-family:KaiTi_GB2312;font-size:18px;"> 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中显示出来
} }</span>

当再次载入页面的时候就会出现例如以下图所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

比如:

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

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

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

 学习心得:

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

【ASP.NET】巧用Cookie实战的更多相关文章

  1. 《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发

    <ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...

  2. 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战

    微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...

  3. Asp.Net Core存储Cookie不成功

    Asp.Net Core存储Cookie不成功 Asp.Net Core2.1生成的项目模板默认实现了<>,所以设置存储Cookie需要做一些处理. 1.第一种是在Startup的Conf ...

  4. ASP.NET Core分布式项目实战

    ASP.NET Core开发者成长路线图 asp.net core 官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ ...

  5. QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题

    原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...

  6. 【笔记目录2】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 上一页 1 2  11.ClientCredential模式总结 GASA 2019-03-11 12:59 阅读:26 评论:0 10. ...

  7. 【笔记目录1】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页  35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...

  8. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  9. Asp.Net Core 中IdentityServer4 实战之角色授权详解

    一.前言 前几篇文章分享了IdentityServer4密码模式的基本授权及自定义授权等方式,最近由于改造一个网关服务,用到了IdentityServer4的授权,改造过程中发现比较适合基于Role角 ...

随机推荐

  1. emacs使用http代理打开

    环境:ubuntu 15.10 64bit,emacs 24 ,git http代理搭建方法:http://www.cnblogs.com/liuxuzzz/p/5324749.html 原因: 因为 ...

  2. hdu 2145(迪杰斯特拉)

    zz's Mysterious Present Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  3. Fresco使用之OOM问题记录

    最近友盟上5.0以上系统报出很多OOM异常,看下日志看到facebook的时候就知道一定是Fresco使用不当导致了OOM. java.lang.OutOfMemoryError: Failed to ...

  4. [Machine Learning with Python] Cross Validation and Grid Search: An Example of KNN

    Train model: from sklearn.model_selection import GridSearchCV param_grid = [ # try 6 (3×2) combinati ...

  5. POJ 3368 Frequent values 线段树与RMQ解法

    题意:给出n个数的非递减序列,进行q次查询.每次查询给出两个数a,b,求出第a个数到第b个数之间数字的最大频数. 如序列:-1 -1 1 1 1 1 2 2 3 第2个数到第5个数之间出现次数最多的是 ...

  6. 书写一个程序,把变量n的初始值设置为1957,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并打印

    class number { void num(){ int a,b,c,d; int n=1957; a=n/1000; b=n/100%10; c=n/10%10; d=n%10; System. ...

  7. 盘点支持Orchard的.NET 4.5虚拟主机(虚拟空间)

    Orchard作为.NET社区最为先进的开源项目之一,已经被越来越多的人使用, 由于它使用了最时髦的微软技术栈(.NET4.5),因此在 Win2008+和IIS7+ 的环境上运行最为完美, 而win ...

  8. gitlab gitlab runner

    1.安装gitlab https://about.gitlab.com/installation/#ubuntu 2.安装runner https://docs.gitlab.com/runner/i ...

  9. tomcat 登录时用户名和密码问题

    在编程的时候我们经常在myeclipes中直接部署web程序,大多数情况下不会登陆tomcat,这样时间长了我们就忘记了tomcat的登陆用户名和密码,下面就说一下怎么找到tomcat的用户名和密码吧 ...

  10. cordova热更新插件调试

    有更新www目录内容后,首先sencha app build,然后进入 cordova目录 运行 cordova-hcp build, 然后查看 chcp.json文件时间,然后压缩cordova目录 ...