[.NET知识点].net中的Cookie应用

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

namespace WebApplication1
{
    public partial class SetCookie : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Nuser.Text = "AA";
            Npwd.Text = "aa";
            Nsex.Text = "女";
            Nage.Text = "18";
        }

        //设置Cookie
        protected void Button1_Click(object sender, EventArgs e)
        {
            string user = Nuser.Text.ToString();
            string pwd = Npwd.Text.ToString();
            string age = Nage.Text.ToString();
            string sex = Nsex.Text.ToString();

            //1、添加Cookie对象
            HttpCookie cookie = new HttpCookie("oneuser");
            //添加成员
            cookie["user"] = Convert.ToString(user);
            cookie["pwd"] = pwd;
            //另一种添加方法
            cookie.Values.Add("age", age);
            cookie.Values.Add("sex", sex);
            //设置过期时间为当前时间后的一个小时
            cookie.Expires = DateTime.Now.AddHours(+1);
            //跨域读取Cookie
            //当站点有子域时,及下个网站上还有另一个关联的站点时使用
            //cookie.Domain = "另一站点1.aspx";
            //将cookie对象添加进set-Cookie流
            Response.AppendCookie(cookie);
        }

        //获取Cookie
        protected void Button2_Click(object sender, EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["oneuser"];
            if (ex(cookie))
            {
                Response.Write("无Cookie\r\n");
                return;
            }
            Response.Write("user:  " + cookie["user"] + "\r\n");
            Response.Write("pwd:  " + cookie["pwd"] + "\r\n");
            Response.Write("age:  " + cookie["age"] + "\r\n");
            Response.Write("sex:  " + cookie["sex"] + "\r\n");
        }

        //修改Cookie
        protected void Button3_Click(object sender, EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["oneuser"];
            if (ex(cookie))
            {
                Response.Write("无Cookie\r\n");
                return;
            }
            cookie["age"] = "20";
            Response.AppendCookie(cookie);
        }

        //删除Cookie
        protected void Button4_Click(object sender, EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["oneuser"];
            if (ex(cookie))
            {
                Response.Write("无Cookie\r\n");
                return;
            }
            //由于Cookie存储用户的计算机中,所以你无法直接将其删除。
            //但是,你可以让浏览器来为你删除Cookie。方法为将Cookie的有效期设置为过去的某个日期。
            //这样,在下次使用时(使用前会检查Cookie的有效期),就会删除这个已经过期了的Cookie
            cookie.Expires = DateTime.Now.AddHours(-1);
            Response.AppendCookie(cookie);
        }

        //判断是否存在Cookie
        public static bool ex(HttpCookie cookie)
        {
            if (cookie == null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        protected void Button5_Click(object sender, EventArgs e)
        {
            Response.Redirect("getCookie.aspx");
        }
    }
}


在getCookie.aspx中获取setCookie.aspx页面设置的Cookie值

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

namespace WebApplication1
{
    public partial class getCookie : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["oneuser"];
            if (cookie == null || cookie["user"] == null)
            {
                Response.Write("无Cookie值");
                return;
            }
            else
            {
                Response.Write("user:  " + cookie["user"] + "\r\n");
                Response.Write("pwd:  " + cookie["pwd"] + "\r\n");
                Response.Write("age:  " + cookie["age"] + "\r\n");
                Response.Write("sex:  " + cookie["sex"] + "\r\n");
            }

        }
    }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值