Cookie对应多个值的用法、访问次数
来源:互联网 发布:java定义全局变量 编辑:程序博客网 时间:2024/06/07 15:52
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()); } }