zoukankan      html  css  js  c++  java
  • ASP.NET基础培训 Cookie的正确利用

    Cookies有很多名字,HTTP Cookie, Web Cookie, Browser Cookie, Session Cookie等。

    在网站开发的过程中,很多初学者其实滥用了它。

    它的正确意义在于,它是在用于存储网站用户的个人数据的,什么时候存储呢?

    在客户端和服务器处于未连接状态时候存的,也就是存在本地的脱机数据。

    事实上,Cookie就是服务器发给客户端存在本地的小规模文本。

    使用场景:

    用户认证,会话认证,用户偏好设置,购物车数据,或者其它能够传输文本的业务。

    创建Cookie:

    方法1(使用HttpCookie类):

    //First Way
    HttpCookie StudentCookies = new HttpCookie("StudentCookies");
    StudentCookies.Value = TextBox1.Text;
    StudentCookies.Expires = DateTime.Now.AddHours(1);
    Response.Cookies.Add(StudentCookies);

    方法2(直接使用Response):

    //Second Way
    Response.Cookies["StudentCookies"].Value = TextBox1.Text;
    Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1);

    在一个Cookie中存储多个值:

    //Writing Multiple values in single cookie
    Response.Cookies["StudentCookies"]["RollNumber"] = TextBox1.Text;
    Response.Cookies["StudentCookies"]["FirstName"] = "Abhimanyu";
    Response.Cookies["StudentCookies"]["MiddleName"] = "Kumar";
    Response.Cookies["StudentCookies"]["LastName"] = "Vatsa";
    Response.Cookies["StudentCookies"]["TotalMarks"] = "499";
    Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1); 


    获取Cookie的值:

    单个值:

    string roll = Request.Cookies["StudentCookies"].Value; 

    多个值:

    //For Multiple values in single cookie
    string roll;
    roll = Request.Cookies["StudentCookies"]["RollNumber"];
    roll = roll + " " + Request.Cookies["StudentCookies"]["FirstName"];
    roll = roll + " " + Request.Cookies["StudentCookies"]["MiddleName"];
    roll = roll + " " + Request.Cookies["StudentCookies"]["LastName"];
    roll = roll + " " + Request.Cookies["StudentCookies"]["TotalMarks"];
    Label1.Text = roll; 


    删除Cookie:

    if (Request.Cookies["StudentCookies"] != null)
    {
        Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(-1);
        Response.Redirect("Result.aspx");  //to refresh the page
    }

    Now, fish! Can you use the cookie correctly?

    技术改变世界
  • 相关阅读:
    压缩打包linux 文件压缩解压命令Strut2教程java教程
    【leetcode】Valid Parentheses
    指向数据个人对指针的理解,欢迎大家批评Strut2教程java教程
    UML中的用例图
    Extjs4中组件的查找方式
    Extjs中选择组件、选择元素的方法
    [转载]C 内存管理详解
    C开发机顶盒实战代码之队列
    C机顶盒开发实战常用初始化类型:数组、结构、指针
    [转载]C语言链表的建立、插入和删除
  • 原文地址:https://www.cnblogs.com/davidgu/p/2957231.html
Copyright © 2011-2022 走看看