Cookie对应多个值的用法、访问次数


protected void Page_Load(object sender, EventArgs e)
    {
        //声明一个HttpCookie的引用
        HttpCookie cookie = null;
        //统计访问的次数
        int count = 0;
        //判断是页面加传
        if (!IsPostBack) 
        {
            UserInfo userInfo = Session["userInfo"] as UserInfo;
            if (userInfo == null)
                Response.Redirect("Login.aspx");
            else if (userInfo.UserName != "恰嬉猫" ||
                userInfo.PassWord != "123456")
                Response.Redirect("Login.aspx");
            else
            {
                //从客户端读取名为"Login"的cookie
                cookie = Request.Cookies["Login"];
                //如果不存在的话,也就是第一次写这个cookie,即首次登录
                if (cookie == null)
                {
                    //如果客户端没有这个cookie,实例化名为Login的cookie
                    cookie = new HttpCookie("Login");
                    //访问次数加加
                    count++;
                    cookie.Values["loginName"] = userInfo.UserName;
                    cookie.Values["dateTime"] = DateTime.Now.ToString();
                    cookie.Values["count"] = count.ToString();
                    cookie.Expires = DateTime.Now.AddDays(30);
                    //写cookie到客户端
                    Response.Cookies.Add(cookie);
                }
                else   //当客户端有当前查找的cookie时
                {
                    //读取访问次数
                    count =int.Parse(cookie.Values["count"].ToString());
                    //次数加加
                    count++;
                    cookie.Values["count"] = count.ToString();
                    //读取登录名
                    cookie.Values["loginName"] = userInfo.UserName;
                    //读取登录时间
                    cookie.Values["dateTime"] = DateTime.Now.ToString();
                    //Cookie 的有效时间:一个月
                    cookie.Expires = DateTime.Now.AddDays(30);
                    //更新cookie集合中现有的cookie值
                    Response.Cookies.Set(cookie);
                }
                Response.Write(userInfo.UserName + "欢迎您!");
            }
        }
    }  
 
---------- 用法 ----------
 protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["Login"];
        if (cookie == null)    
        {
            Response.Write("<br>没有登录信息!");
        }
        else
        {
            Response.Write("<br>用户名:" + cookie["loginName"].ToString());
            Response.Write("<br><br>上次访问时间:" + cookie["dateTime"].ToString());
            Response.Write("<br><br>访问次数:" + cookie["count"].ToString());
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值