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

发布时间:2020-08-06 21:42 作者:独孤剑 阅读:356

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);
        }
    }
}


微信打赏, 微信扫一扫

支付宝打赏, 支付宝扫一扫

如果文章对您有帮助,欢迎给作者打赏

作者最新文章
拜登称政府正调查燃油公司黑客攻击事件 确定该公司网络被勒索软件感染
云南大理森林消防直升机坠入洱海:4名机组人员不幸遇难
jquery $.ajax()方法参数详解
java 使用 itext 导出 PDF 文本绝对定位, itext 绝对定位的方法
杭州野生动物世界“金钱豹出逃”发布致歉声明
企业信息查询系统