if (HttpContext.Current.Request.Cookies["MyInfo"] == null)
            {
                DateTime date = DateTime.Now.AddDays(7);
                cookie = new HttpCookie("MyInfo");
                cookie.Path = "/";
                cookie.Values["TrainNumber"] = "234";
                cookie.Values["Depot"] = "";
                cookie.Values["Search"] = "";
                cookie.Expires = date;
                HttpContext.Current.Response.Cookies.Add(cookie);
            }
我先设置了一个Cookie...这样对吗?可以存储到本吗? 在我再以次打开IE的时候想去修改KEY的值
 Httpcookie  cookie= new HttpCookie("MyInfo");
  cookie.Values["TrainNumber"] = cookie.Values["TrainNumber"] + "," + str;
        HttpContext.Current.Response.Cookies.Add(cookie);
然后在再读新的Cookie  改怎么办啊

解决方案 »

  1.   


                HttpContext.Current.Response.Cookies["vip"].Value = "值"
    HttpContext.Current.Response.Cookies["vip"].Expires = DateTime.Now.AddHours(-1);
      

  2.   

    写cookie:Response.Cookies["userName"].Value = "patrick"; 
    Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); 
    HttpCookie aCookie = new HttpCookie("lastVisit"); 
    aCookie.Value = DateTime.Now.ToString(); 
    aCookie.Expires = DateTime.Now.AddDays(1);
     Response.Cookies.Add(aCookie);
    Cookie有多个值:Response.Cookies["userInfo"]["userName"] = "patrick"; 
    Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString(); 
    Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1); 
    HttpCookie aCookie = new HttpCookie("userInfo"); 
    aCookie.Values["userName"] = "patrick"; 
    aCookie.Values["lastVisit"] = DateTime.Now.ToString(); 
    aCookie.Expires = DateTime.Now.AddDays(1); 
    Response.Cookies.Add(aCookie);
    参考一下
      

  3.   

    老婆,我来了
    #region 写Cookies
    private void WriteCookie(string writeValue,string cookiesName)
    {
    if(Request.Cookies[cookiesName] != null)
    {

    Response.Cookies[cookiesName].Value = writeValue;
    Response.Cookies[cookiesName].Expires = System.DateTime.Now.AddYears(1);
    }
    else
    {
    HttpCookie cultureCookie = new HttpCookie(cookiesName);
    cultureCookie.Value = writeValue;
    //cultureCookie.Expires = System.DateTime.Now.AddDays(1);
    Response.AppendCookie(cultureCookie);
    }
    }   
    #endregion #region 读Cookies
    private string ReadCookie(string cookiesName)
    {
    string retValue=string.Empty;
    if(Request.Cookies[cookiesName] != null)
    {
    retValue = Request.Cookies[cookiesName].Value;
    return retValue;
    }
    return retValue;
    }   
    #endregion
      

  4.   

    一、设置cookies的方法很简单,有以下两种方法: 网管论坛bbs_bitsCN_com     1、直接添加Cookie值: 中国网管联盟bitsCN.com    Response.Cookies["userName"] = "Tom";
        Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1) ; \\过期时间,在Cookies文件中无法查看,也不能调用. 网管u家www.bitscn.net    2、创建Cookie对象的一个实例: 中国网管论坛bbs.bitsCN.com     HttpCookie cookie=new HttpCookie("userName");
        cookie.Value = "Tom";
        cookie.Expires = DateTime.Now.AddDays(1) ;
        Response.Cookies.Add(aCookie) 网管论坛bbs_bitsCN_com     用以上任一方法都可以生成一个有“userName”项的文件, 在你的Internet临时文件夹中你可以查看它。 网管u家bitscn.net     也可以创建和添加有子键的Cookies,如: 网管有家bitscn.net     Response.Cookies["userInfo"]["userName"] = "Tom"; 网管网www.bitscn.com     或: 网管bitscn_com     HttpCookie cookie=new HttpCookie("userInfo");
        cookie.Values["userName"] = "Tom";
        aCookie.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(aCookie) 网管联盟bitsCN_com     二、检索Cookies: 中国网管联盟bitsCN.com
        Cookies某一键的值为: 网管有家www.bitscn.net    Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]) 网管有家bitscn.net    你可以用Response.Write()方法输出它到页面,如: 网管u家u.bitsCN.com
        Response.Write(Server.HtmlEncode(Request.Cookies["userInfo"]["userName"])); 中国网管论坛bbs.bitsCN.com    或赋值给其它变量: 网管u家u.bitsCN.com
        string strCookie1=Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]); 网管联盟bitsCN_com   用Cookies[i]数组可以检索所有项和子键,如: 网管联盟bitsCN@com    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]); 网管有家www.bitscn.net 
          }
        }
      } 网管朋友网www_bitscn_net    三、修改Cookies 网管联盟bitsCN@com   如果是数值类型的Cookie值,比如访问次数,你可以读取该值进行加减操作后再存回,一般的修改直接存入新值就可以了,系统自动用新值覆盖原值,存入的方法与创建相同。 中国网管联盟bitsCN.com   四、删除Cookies 网管有家bitscn.net    删除Cookies只要把有效期设为失效就可以了,如在创建时设有效期为一天:
       cookie.Expires = DateTime.Now.AddDays(1) ; 网管网www_bitscn_com
       要删除则设为: 网管u家u.bitsCN.com   cookie.Expires = DateTime.Now.AddDays(-1) ; 网管有家bitscn.net
        删除子键:
        HttpCookie cookie;
        cookie = Request.Cookies["userInfo"];
         aCookie.Values.Remove("userName");
         aCookie.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(aCookie); 网管网www.bitscn.com【转自www.bitsCN.com】
      

  5.   

    Httpcookie  cookie= new HttpCookie("MyInfo"); 
    -------------------------------
    你又重新构造一个实例做什么?
      

  6.   

    cookies是个hasttable类型,你在名值对中又重加个相同的名称,当然被覆盖了,况且还是空值,构造初始化。
    你从多个cookies中取特定值时,可以从cookiecontainers提取对应特定名值对.
      

  7.   

    或者简单一点,就string a=Server.UrlEncode("嫁给我吧");
    Server.UrlDecode(a);
      

  8.   

     我看大家都是冲着女人的以身相许来的.. 呵呵
     我来发个js的
    < script language="Java script " type="text/Java script ">
    function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)//取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;}
    function delCookie(name)//删除cookie
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }SetCookie ("xiaoqi", "3")
    alert(getCookie('xiaoqi'));
    </ script >
      

  9.   

    Asp.net夜话之二:asp.net内置对象
    准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。本文介绍System.Web.UI.Page类的几个常用属性,如Request、Response、Server、Session、Cookie、Application,并讲述了及表达式用法。
      

  10.   

    CookieCookie对象和Session对象一样也是用来保存特定的用户相关的数据,不过Session不同的是Cookie保存在客户端而不是服务器上,每次客户端发出请求的时候都会把Cookie一起发送到服务器,服务器每次响应客户端请求的时候会重新把Cookie发送到客户端保存。
    Cookie保存数据有以下特点:
    Cookie中的数据保存在客户端;
    Cookie中只能保存字符串类型的数据,如果需要在Cookie中保存其它类型数据,需要将其转换成字符串类型后保存;
    Cookie也有其默认生命周期,也可以手动设置,最大可设置成50年之后过期。
    同Session的情况一样,有可能在一个网站中使用到的Cookie不止一个,我们仍通过Cookie的名称来区分不同的Cookie。
    设置Cookie的过程就是在服务器的响应对象Response的Cookie集合中增加一个Cookie的实际,Response对象会把这个Cookie集合中的所有Cookie都发送客户端。代码如下(仍以保存用户名为例):HttpCookie cookie = new HttpCookie("UserName", "zhoufoxcn"); 
    Response.Cookies.Add(cookie);    获取Cookie就是从客户端的请求对象中找到对应名称的Cookie,当然也有可能出现Cookie不存在的情况,所以在获取之前也需要检查指定名称的Cookie是否存在,大妈如下:string userName; 
    if (Request.Cookies["UserName"] != null) 

         userName = Request.Cookies["UserName"].Value; 
    }细心的朋友可能会留意到前面讲到Session和Cookie的时候,我都说他们是针对特定用户保存的数据,也就是那些数据并不是每个人都能用到。Session和Cookie一般用来一些针对特定用户的信息,比如用于保存用户名等,因为是针对特定用户的,所以不会针对张三设置用户名保存在Session或者Cookie中之后再去或者这个值的时候得到的是李四的用户名。但是在某些情况下,我们又希望保存一些共有信息,这样大家都能设置或者获取,比如自从服务器启动以来某个页面被打开的次数,这时用Session或者Cookie就不合适了。这就需要用Application了。
      

  11.   

    其实COOKIE它只是一个键值对,一个COOKIE只有一个名字(Name),一个值(Value/values),但是,这个值(Value)
    可以是一个字符串又可以是一个键值对集合(values)里面可以有多个键值对;    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                WriteCookie();
                Response.Write(ReadCookie());
            }
        }
        private void WriteCookie()
        {
            HttpCookie myCookie = new HttpCookie("cookieName", "cookieValueFirst");
            myCookie.Value = "cookieValueSecond";//这里只难设置一个值,后面的将覆盖前面的赋值
            myCookie.Values["second"] = "shengzhen";
            myCookie.Values["first"] = "nanchange";
            Response.Cookies.Add(myCookie);
        }
        private string ReadCookie()
        {
            HttpCookie readCookie = Request.Cookies["cookieName"];//Request.Cookies.Get("cookieName");
            if (readCookie == null)
            {
                return "can't get cookie";
            }
            else
            {
                return "name:"+Server .HtmlDecode(readCookie.Name)+" value:"+ Server.HtmlDecode(readCookie.Value) +" values: "+Server .HtmlDecode(readCookie.Values.ToString ());
            }
        }
    }自己调试下看结果就好了
      

  12.   

    正确的写法 Response.Cookies["名字"].Value = "值"; 
      

  13.   

    楼上已经说的很多了,补充一下:是否禁用了cookie?
      

  14.   

    .NET联盟会馆 QQ群号:77329563  招聘中.....
      

  15.   

    客户及是否禁用了Cookie的功能