zoukankan      html  css  js  c++  java
  • C#中Cookies的存取

    c#中cookies的存取操作
    c#中cookies的存取
    cookies的创建:

    在客户端创建一个username的cookies,其值为gjy,有效期为1天.
    方法1:
    Response.Cookies["username"].Value="zxf";
    Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);

    方法2:
    System.Web.HttpCookie newcookie=new HttpCookie("username");
    newcookie.Value="gjy";
    newcookie.Expires=DateTime.Now.AddDays(1);
    Response.AppendCookie(newcookie);


    创建带有子键的cookies:
    System.Web.HttpCookie newcookie=new HttpCookie("user");
    newcookie.Values["username"]="zxf";
    newcookie.Values["password"]="111";
    newcookie.Expires=DateTime.Now.AddDays(1);
    Response.AppendCookie(newcookie);

    cookies的读取:

    无子键读取:
    if(Request.Cookies["username"]!=null)
    {
    Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
    }

    有子键读取:
    if(Request.Cookies["user"]!=null)
    {
    Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
    Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

     
    public class Cookie
    {
        
    /// <summary>
        
    /// Cookies赋值
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <param name="strValue">键值</param>
        
    /// <param name="strDay">有效天数</param>
        
    /// <returns></returns>
        public bool setCookie(string strName, string strValue, int strDay)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(strDay);
                Cookie.Value 
    = strValue;
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }

        
    /// <summary>
        
    /// 读取Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
     
        
    public string getCookie(string strName)
        {
            HttpCookie Cookie 
    = System.Web.HttpContext.Current.Request.Cookies[strName];
            
    if (Cookie != null)
            {
                
    return Cookie.Value.ToString();
            }
            
    else
            {
                
    return null;
            }
        }

        
    /// <summary>
        
    /// 删除Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
        public bool delCookie(string strName)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(-1);
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }



    示例:
    Cookie Cookie = new Cookie();
    Cookie.setCookie(
    "name""aaa",1);//赋值
    Cookie.getCookie("name");//取值
    Cookie.delCookie("name");//删除
    注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可


    另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效





    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

     
    public class Cookie
    {
        
    /// <summary>
        
    /// Cookies赋值
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <param name="strValue">键值</param>
        
    /// <param name="strDay">有效天数</param>
        
    /// <returns></returns>
        public bool setCookie(string strName, string strValue, int strDay)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(strDay);
                Cookie.Value 
    = strValue;
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }

        
    /// <summary>
        
    /// 读取Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
     
        
    public string getCookie(string strName)
        {
            HttpCookie Cookie 
    = System.Web.HttpContext.Current.Request.Cookies[strName];
            
    if (Cookie != null)
            {
                
    return Cookie.Value.ToString();
            }
            
    else
            {
                
    return null;
            }
        }

        
    /// <summary>
        
    /// 删除Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
        public bool delCookie(string strName)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(-1);
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }



    示例:
    Cookie Cookie = new Cookie();
    Cookie.setCookie(
    "name""aaa",1);//赋值
    Cookie.getCookie("name");//取值
    Cookie.delCookie("name");//删除
    注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可


    另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效






     

  • 相关阅读:
    yii2 批量插入
    yii2 ArrayHelper的19个函数+使用实例+功能详解
    thinkphp phpexcel
    yii2 ActiveForm beforeSubmit用法
    YII2项目常用技能知识总结
    Redis 的 fields 遇到的问题
    spring boot +mybatis+druid 多数据源配置
    简单使用shell 自动打包,发布项目 脚本
    cmpp 短信平台
    mysql workbench 导出表结构
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1435524.html
Copyright © 2011-2022 走看看