protected void btn_Click(object sender, EventArgs e)
        {
            HttpCookie aa = new HttpCookie("123", "1234");
            Response.Cookies.Add(aa);          
            string msg = Request.Cookies["123"].Value;
            Page.RegisterStartupScript("", "<script>alert(" + msg + ")</script>");
        }代码就是测试cookie写入和读取值怎么会msg为空呢

解决方案 »

  1.   

    //多值Cookie的读取
    if ( Request.Cookies["user"]!=null )
    {
      string name=Request.Cookies["user"]["name"];
    }
      

  2.   

    !我明白了这个时候是把cookie发给服务器,还没有发回来!是不是?大神
      

  3.   

    Cookie的写入是从服务器发送到客户端,这个时候你在服务器端是获取不到的。必须刷新一下页面,这个时候客户端已经写入了Cookie,当你再次刷新的时候,才能获取到Cookie。
      

  4.   

    234567  protected void btn_Click(object sender, EventArgs e)         {             HttpCookie aa = new HttpCookie("123", "1234");             Response.Cookies.Add(aa);                       string msg = Request.Cookies["123"].Value;             Page.RegisterStartupScript("", "<script>alert(" + msg + ")</script>");         } 如果是WEB的话,你可以考虑用这种方式,winform的话,你可能就要变通下了!
      

  5.   

    HttpCookie aa = new HttpCookie("123", "1234"); 
    Response.Cookies.Add(aa);这两行代码,你准备响应给客户端浏览器的静态页面中,向客户端写入一个cookie
    注意这个cookie必须是在会话响应给了客户端后。客户端中才会有这个cookiestring msg = Request.Cookies["123"].Value; 
    这行代码,你是获取发送当前请求的客户端中的cookie,此时的客户端还没有这个cookie呢
      

  6.   

    [color=#008080]两个方法:
    1、在前台页面添加一个隐藏域,当隐藏域有值传过来的时候,cookie值可以获取到值;
    2、利用后台页面类的IsPostBack属性,当为真的时候,cookie值可以获取到值[/color]
      

  7.   

    你是给response赋的cookie 而这个时候的request是没有新加的cookie,等下次回发的时候才会有