zoukankan      html  css  js  c++  java
  • ASP.net: cookie

    1 cookie 使用

    写入cookie

    HttpCookie cookie = new HttpCookie("MyCookieName", "string value");
    Response.Cookies.Add(cookie);
    

    读取 cookie

    HttpCookie cookie = Request.Cookies["MyCookieName"];
    if( cookie != null )
        labCookie1.Text = cookie.Value;
    else
        labCookie1.Text = "未定义";
    

    删除

    HttpCookie cookie = new HttpCookie("MyCookieName", null);
    cookie.Expires = new DateTime(1900, 1, 1);
    Response.Cookies.Add(cookie);
    

    保存对象

    一般方法1:

    public class DisplaySettings 
    {
        public int Style;
    
        public int Size;
        
        public override string ToString()
        {
            return string.Format("Style = {0}, Size = {1}", this.Style, this.Size);
        }    
    }
    
    private void WriteCookie_2a() { DisplaySettings setting = new DisplaySettings { Style = 1, Size = 24 }; HttpCookie cookie = new HttpCookie("DisplaySettings1"); cookie["Style"] = setting.Style.ToString(); cookie["Size"] = setting.Size.ToString(); Response.Cookies.Add(cookie); } private void ReadCookie_2a() { HttpCookie cookie = Request.Cookies["DisplaySettings1"]; if( cookie == null ) labDisplaySettings1.Text = "未定义"; else { DisplaySettings setting = new DisplaySettings(); setting.Style = cookie["Style"].TryToInt(); setting.Size = cookie["Size"].TryToInt(); labDisplaySettings1.Text = setting.ToString(); } }

    2 json方法

    private void WriteCookie_2b()
    {
        DisplaySettings setting = new DisplaySettings { Style = 2, Size = 48 };
    
        HttpCookie cookie = new HttpCookie("DisplaySettings2", setting.ToJson());
        Response.Cookies.Add(cookie);
    }
    
    private void ReadCookie_2b()
    {
        HttpCookie cookie = Request.Cookies["DisplaySettings2"];
        if( cookie == null )
            labDisplaySettings2.Text = "未定义";
        else {
            DisplaySettings setting = cookie.Value.FromJson<DisplaySettings>();
            labDisplaySettings2.Text = setting.ToString();
        }
    }
    
    /// <summary> /// 将一个对象序列化成 JSON 格式字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJson(this object obj) { if( obj == null ) return string.Empty; JavaScriptSerializer jss = new JavaScriptSerializer(); return jss.Serialize(obj); } /// <summary> /// 从JSON字符串中反序列化对象 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cookie"></param> /// <returns></returns> public static T FromJson<T>(this string cookie) { if( string.IsNullOrEmpty(cookie) ) return default(T); JavaScriptSerializer jss = new JavaScriptSerializer(); return jss.Deserialize<T>(cookie); }

    以上转载自:fish li

  • 相关阅读:
    使用Wireshark捕捉USB通信数据
    simtrace之探秘SIM卡中的世界
    极客DIY:RFID飞贼打造一款远距离渗透利器
    C118+Osmocom-bb+Openbts搭建小型基站
    天猫标的就是虚价,果然败家节啊
    为什么项目的jar包会和tomcat的jar包冲突?
    Spring-JDBC实现Contact的CRUD
    使用maven下载jar包的source和javadoc
    Spring-Context的注解实现依赖注入功能
    [html]三列居中自动伸缩的结构
  • 原文地址:https://www.cnblogs.com/zjwei55/p/2151219.html
Copyright © 2011-2022 走看看