asp.Net Cookie绝好实例

//写入
    protected void Button2_Click(object sender, EventArgs e)
    {
        HttpCookie cookie
=new HttpCookie("MyCook");//初使化并设置Cookie的名称
        DateTime dt=DateTime.Now;
        TimeSpan ts 
= new TimeSpan(001,0,0);//过期时间为1分钟
        cookie.Expires = dt.Add(ts);//设置过期时间
        cookie.Values.Add("userid""userid_value");
        cookie.Values.Add(
"userid2","userid2_value2");
        Response.AppendCookie(cookie);
        
//输出该Cookie的所有内容
        
//Response.Write(cookie.Value); //输出为:userid=userid_value&userid2=userid2_value2 
    }

    
//读取
    protected void Button1_Click(object sender, EventArgs e)
    {

       
// HttpCookie cokie = new HttpCookie("MyCook");//初使化
        if (Request.Cookies["MyCook"]!=null)
        {
            
//Response.Write("Cookie中键值为userid的值:" + Request.Cookies["MyCook"]["userid"]);//整行
            
//Response.Write("Cookie中键值为userid2的值" + Request.Cookies["MyCook"]["userid2"]);
            Response.Write(Request.Cookies["MyCook"].Value);//输出全部的值
        }
    }

    
//修改Cookie
    protected void Button3_Click(object sender, EventArgs e)
    {
        
//获取客户端的Cookie对象
        HttpCookie cok = Request.Cookies["MyCook"];
        
        
if (cok != null)
        {
         
//修改Cookie的两种方法
            cok.Values["userid"= "alter-value";
            cok.Values.Set(
"userid""alter-value");

          
//往Cookie里加入新的内容
             cok.Values.Set("newid""newValue");
             Response.AppendCookie(cok);
        }

      
    }
    
//删除Cookie
    protected void Button4_Click(object sender, EventArgs e)
    {

        HttpCookie cok 
= Request.Cookies["MyCook"];
        
if (cok != null)
        {
            
if (!CheckBox1.Checked)
            {
                cok.Values.Remove(
"userid");//移除键值为userid的值
            }
            
else
            {
                TimeSpan ts 
= new TimeSpan(-1000);
                cok.Expires 
= DateTime.Now.Add(ts);//删除整个Cookie,只要把过期时间设置为现在
            }
            Response.AppendCookie(cok);
        }
    }
posted @   leeolevis  阅读(194)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示