我现在要在一个页面上写cookies另外一个页面上读取cookies 以下是A.aspx页面里写的(A是写页面)
        HttpCookie cookie = new HttpCookie("mycookie");
        cookie.Values.Add("name", "zhuye");
        cookie.Values.Add("age", "20");
        Response.AppendCookie(cookie);
        Response.Cookies["name"].Expires = DateTime.Now.AddDays(7);
        Response.Cookies["age"].Expires = DateTime.Now.AddDays(7);
B.asp页面读出来.
 HttpCookie cookie = Request.Cookies["mycookie"];
        if (cookie != null)
        {
            string name = "";
            name = cookie.Values["name"];
            string age = cookie.Values["age"];            if (name != "")
            {
                Response.Write("读到了");
            }
            else
            {
                Response.Write(" 目前您还没有登陆将匿名留言!");  
            }
        }
        else {
            Response.Write("33333");       
        }现在遇到的情况是,A.ASPX这个页面访问以后,直接在当前窗口访问B.aspx页面,可以读出来.
如果关掉A.ASPX页面再访问B.aspx页面, 就读不到cookies了.
请帮忙解答困惑.
        

解决方案 »

  1.   

    这不是有效期的问题。和我以前碰到的一个问题非常相似。请查看下面这个贴。
    http://topic.csdn.net/u/20070816/11/19c789ae-1c62-4c1b-85d7-02000b6f2c92.html
      

  2.   

    HttpCookie LoginCookie = new HttpCookie("keuserlogin");
                DateTime dt = DateTime.Now;
                TimeSpan ts = new TimeSpan(20, 0, 0, 0);
                LoginCookie.Expires = dt.Add(ts);
                LoginCookie.Values.Add("UserId", Convert.ToString(UserId));
                LoginCookie.Values.Add("UserName", UserName);
                Response.AppendCookie(LoginCookie);
      

  3.   

    a: 
    HttpCookie myCookies = new HttpCookie("Test_Cookies");
            myCookies.Values["Test_UserName"] = "maybe";
            myCookies.Values["Test_UserAge"] = "20";        myCookies.Expires = DateTime.Now.AddDays(7);        HttpContext.Current.Response.AppendCookie(myCookies);
    b:
     string UserName,UserAge;
            HttpCookie Test_Cookies = Request.Cookies["Test_Cookies"];
            if (Test_Cookies != null)
            {
                UserName = Test_Cookies.Values["Test_UserName"];
                UserAge = Test_Cookies.Values["Test_UserAge"];
                Response.Write(UserName + UserAge);
               
            }