asp.net_cookie的增加、删除、修改、读取操作

cookie的增、删、修、读操作

开发环境:Microsoft visual studio 2010

一、什么是cookie

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

Cookie由键:值对组成(分为单值cookie与多值cookie)。

二、简单举例

在这里插入图片描述
在这里插入图片描述

由图可得,每个button按钮对应各自的描述功能,而最后的超链接可以输出cookie的对应值。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test01.aspx.cs" Inherits="test01" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Button ID="Button1" runat="server" Text="设置一个多值cookie:(性别=男,姓名=小王,年龄=18)" 
            onclick="Button1_Click" Width="341px" />
        <br />
        <br />
        <asp:Button ID="Button2" runat="server" Text="整个删除这个多指cookie" 
            onclick="Button2_Click" />
        <br />
        <br />
        <asp:Button ID="Button7" runat="server" Text="可以实现删除的另一个语句" 
            onclick="Button7_Click" Width="216px" />
        <br />
        <br />
        <asp:TextBox ID="TextBox1" runat="server" Width="155px"></asp:TextBox>
&nbsp;
        <asp:Button ID="Button3" runat="server" Text="修改子键name的值" 
            onclick="Button3_Click" />
        <br />
        <br />
        <asp:Button ID="Button4" runat="server" Text="删除age子键" 
            onclick="Button4_Click" />
        <br />
        <br />
        <asp:Button ID="Button5" runat="server" Text="删除所有子键" onclick="Button5_Click" />
        <br />
        <br />
        <br />
        <asp:Button ID="Button6" runat="server" Text="清除所有cookie" 
            onclick="Button6_Click" />
    </div>
    </form>
     <p>
        &nbsp;</p>
    <a href="test01_result.aspx" style="text-decoration:none;font-size:14px;color:Gray;">跳转到读取cookie的页面</a>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class test01 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        HttpCookie ck = new HttpCookie("person");
        ck.Values.Add("sex", "男");
        ck.Values.Add("name", "小王");
        ck.Values.Add("age", "18");
        ck.Expires = DateTime.MaxValue;
        Response.Cookies.Add(ck);
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        HttpCookie ck2 = Request.Cookies["person"];
        ck2.Expires = DateTime.MinValue;
        Response.Cookies["person"].Expires = DateTime.MinValue;
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        HttpCookie ck2 = Request.Cookies["person"];
        String index = TextBox1.Text;
        ck2.Values.Set("name", index);
        ck2.Expires = DateTime.MaxValue;
        Response.Cookies.Add(ck2);
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        HttpCookie ck3 = Request.Cookies["person"];
        ck3.Values.Remove("age");
        ck3.Expires = DateTime.MaxValue;
        Response.Cookies.Add(ck3);
    }
    protected void Button5_Click(object sender, EventArgs e)
    {
        HttpCookie ck4 = Request.Cookies["person"];
        ck4.Values.Remove("age");
        ck4.Values.Remove("name");
        ck4.Values.Remove("sex");
        ck4.Expires = DateTime.MaxValue;
        Response.Cookies.Add(ck4);
    }
    protected void Button6_Click(object sender, EventArgs e)
    {
        HttpCookie ck = Request.Cookies["person"];
        ck.Expires = DateTime.Now.AddDays(-5);
        Response.Cookies.Add(ck);
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        HttpCookie ck2 = Request.Cookies["person"];
        ck2 = Response.Cookies["person"];
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test01_result.aspx.cs" Inherits="test01_result" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <asp:TextBox ID="TextBox1" runat="server" Width="236px"></asp:TextBox>
    </div>
    </form>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class test01_result : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["person"] != null)
        {
            HttpCookie ck = Request.Cookies["person"];
            TextBox1.Text = ck.Values["name"] + "," + ck.Values["sex"] + "," + ck.Values["age"] + "岁";

        }
    }
}

三、增加,删除,修改,读取操作的简述

1.增加cookie

HttpCookie ck = new HttpCookie(“person”);
ck.Values.Add(“sex”, “男”);
ck.Values.Add(“name”, “小王”);
ck.Values.Add(“age”, “18”);
ck.Expires = DateTime.MaxValue;
Response.Cookies.Add(ck);

2.删除cookie

①彻底清除

方法一:

HttpCookie ck2 = Request.Cookies[“person”];
ck2.Expires = DateTime.MinValue;
Response.Cookies[“person”].Expires = DateTime.MinValue;

方法二:

HttpCookie ck2 = Request.Cookies[“person”];
ck2 = Response.Cookies[“person”];

② 删除子键

HttpCookie ck3 = Request.Cookies[“person”];
ck3.Values.Remove(“age”);
ck3.Expires = DateTime.MaxValue;
Response.Cookies.Add(ck3);

3.修改cookie

HttpCookie ck2 = Request.Cookies[“person”];
String index = TextBox1.Text;
ck2.Values.Set(“name”, index);
ck2.Expires = DateTime.MaxValue;
Response.Cookies.Add(ck2);

4.读取cookie

if (Request.Cookies[“person”] != null)
{
HttpCookie ck = Request.Cookies[“person”];
TextBox1.Text = ck.Values[“name”] + “,” + ck.Values[“sex”] + “,” + ck.Values[“age”] + “岁”;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BeJav

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

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

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

打赏作者

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

抵扣说明:

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

余额充值