C#怎样创建cookies数组,写入,并将读出像a[1][1]这种的

解决方案 »

  1.   

      c#.net在WEB页中设置COOKIES       
      一、设置cookies的方法很简单,有以下两种方法:       
        
      1、直接添加Cookie值:       
            Response.Cookies["userName"]   =   "Tom";         
            Response.Cookies["userName"].Expires   =   DateTime.Now.AddDays(1)   ;   \\过期时间,在Cookies文件中无法查看,也不能调用.       
        
      2、创建Cookie对象的一个实例:       
            HttpCookie   cookie=new   HttpCookie("userName");       
            cookie.Value   =   "Tom";       
            cookie.Expires   =   DateTime.Now.AddDays(1)   ;         
            Response.Cookies.Add(aCookie)         
        
      用以上任一方法都可以生成一个有“userName”项的文件,   在你的Internet临时文件夹中你可以查看它。       
        
      也可以创建和添加有子键的Cookies,如:       
      Response.Cookies["userInfo"]["userName"]   =   "Tom";         
        
      或:       
            HttpCookie   cookie=new   HttpCookie("userInfo");       
            cookie.Values["userName"]   =   "Tom";       
            aCookie.Expires   =   DateTime.Now.AddDays(1);         
            Response.Cookies.Add(aCookie)         
        
      二、检索Cookies:       
          Cookies某一键的值为:         
          Server.HtmlEncode(Request.Cookies["userInfo"]["userName"])       
          你可以用Response.Write()方法输出它到页面,如:       
          Response.Write(Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]));       
        
          或赋值给其它变量:       
        
          string   strCookie1=Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]);       
                
          用Cookies[i]数组可以检索所有项和子键,如:       
          string[]   cooName     =   new   string[Request.Cookies.Count];       
          string[]   cooValue   =   new   string[Request.Cookies.Count];           
          HttpCookie   aCookie;       
          for(int   i=0;i<Request.Cookies.Count;i++){       
              aCookie   =   Request.Cookies[i];         
              cooName[i]     =   Server.HtmlEncode(aCookie.Name);       
              if(!aCookie.HasKeys){       
                    cooValue[i]   =   Server.HtmlEncode(aCookie.Value);       
              }else{       
                  string[]   subcooName     =   new   string[aCookie.Values.Count];       
                  string[]   subcooValue   =   new   string[aCookie.Values.Count];         
                  for(int   j=0;j<aCookie.Values.Count;j++){           
                      subcooName[j]     =   Server.HtmlEncode(aCookie.Values.AllKeys[j]);       
                      subcooValue[j]   =   Server.HtmlEncode(aCookie.Values[j]);       
                  }       
              }       
          }       
        
      三、修改Cookies       
            如果是数值类型的Cookie值,比如访问次数,你可以读取该值进行加减操作后再存回,一般的修改直接存入新值就可以了,系统自动用新值覆盖原值,存入的方法与创建相同。       
        
      四、删除Cookies       
      删除Cookies只要把有效期设为失效就可以了,如在创建时设有效期为一天:       
          cookie.Expires   =   DateTime.Now.AddDays(1)   ;       
      要删除则设为:       
      cookie.Expires   =   DateTime.Now.AddDays(-1)   ;       
        
          删除子键:       
      HttpCookie   cookie;       
      cookie   =   Request.Cookies["userInfo"];       
          aCookie.Values.Remove("userName");       
          aCookie.Expires   =   DateTime.Now.AddDays(1);       
          Response.Cookies.Add(aCookie);       
        
      

  2.   

    //多值Cookie的写法//方式1:
    Response.Cookies["userinfo1"]["name"].value="1";
    Response.Cookies["userinfo1"]["last"].value="1";
    Response.Cookies["userinfo1"].Expires=DateTime.MaxValue; //方式2:
    HttpCookie cookie = new HttpCookie("userinfo1");
    cookie.Values["name"]="mike";
    cookie.Values["last"]="a";
    cookie.Expires=DateTime.MaxValue; 
    //cookie.Expires = System.DateTime.Now.AddDays(1);
    Response.Cookies.Add(cookie);
    //多值Cookie的读取
    If ( Request.Cookies["userInfo1"]!=null )
    {
      string name=Request.Cookies["userInfo1"]["name"];
      string last=Request.Cookies["userInfo1"]["last"]; 
    }
    网上找的.