198366809 发表于 2021-10-24 12:40:04

ASP.NET Cookie 操作, 以用户登录退出为例, 实现Cookie的获取, ...

ASP.NET Cookie 操作, 以用户登录退出为例, 实现Cookie的获取, 设置, 清除using System;
using System.Web;

namespace WebApplication4
{
    /// <summary>
    /// ASP.NET Cookie 操作, 以用户登录退出为例, 实现Cookie的获取, 设置, 清除
    /// </summary>
    public partial class Default : System.Web.UI.Page
    {
      /// <summary>
      /// 载入, 获取Cookie
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void Page_Load(object sender, EventArgs e)
      {
            string user = "";
            // 读取Cookie
            HttpCookie cookie = HttpContext.Current.Request.Cookies["User"];
            if (cookie != null)
            {
                user = cookie.Value;
            }
            Response.Write("当前登录用户: " + user);
      }

      /// <summary>
      /// 登录, 设置Cookie
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void btnLogin_Click(object sender, EventArgs e)
      {
            // 设置Cookie, 5分钟后过期
            HttpCookie cookie = new HttpCookie("User")
            {
                Value = "Admin",
                Expires = DateTime.Now.AddMinutes(+5)
            };
            HttpContext.Current.Response.Cookies.Add(cookie);

            // 如果未设置Cookie过期时间, 则Cookie的有效期只在当前页面, 关闭浏览器再次进入就无效了过期了
            //HttpCookie cookie = new HttpCookie("User")
            //{
            //    Value = "Admin"
            //};
            //HttpContext.Current.Response.Cookies.Add(cookie);

            // 再次刷新页面
            HttpContext.Current.Response.Redirect("Default.aspx", false);
      }

      /// <summary>
      /// 退出, 清除Cookie
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void btnLogOff_Click(object sender, EventArgs e)
      {
            // 清除Cookie
            HttpCookie cookie = HttpContext.Current.Request.Cookies["User"];
            if (cookie != null)
            {
                HttpContext.Current.Response.Cookies["User"].Expires = DateTime.Now.AddSeconds(-1);
            }

            // 再次刷新页面
            HttpContext.Current.Response.Redirect("Default.aspx", false);
      }
    }
}来源:C#社区
网址:www.hicsharp.com



李涛涛~ 发表于 2021-10-25 16:08:11

看了楼主的帖子,不由得精神一振,豁然开朗,牛掰

182032 发表于 2021-10-28 18:31:16

在遇到你之前我对人世间是否有技术大佬保有怀疑,现在我是彻底被你征服了

wyc96 发表于 2025-11-16 21:13:26

这逻辑绝了,分析得太到位了吧

大小格局 发表于 2025-11-16 21:22:18

救命!这回复笑到我捶桌,必须置顶~

hhhh168 发表于 2025-11-16 21:23:39

说得对!狠狠赞同,没毛病~

wx_d55z9Ohw 发表于 2025-11-16 21:24:42

来凑个热闹,增加点人气~

ysj 发表于 2025-11-16 21:28:12

被戳中笑点 / 泪点,太真实了!

东海太阳 发表于 2025-11-16 21:33:20

水个经验,支持楼主,加油呀

hywsg9 发表于 2025-11-16 22:05:33

不请自来,就想夸一句:太顶了!
页: [1] 2
查看完整版本: ASP.NET Cookie 操作, 以用户登录退出为例, 实现Cookie的获取, ...