我在一个页面里用js写个cookie,然后想在另个一页面读取这个cookie的值。请问如何做?
<script>
function setCookies(name,value) 

var today = new Date(); 
var expires = new Date(); 
expires.setTime(today.getTime() + 1000*60*60*24*2000); 
parent.document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString(); 
//alert(parent.document.cookie) 
}
setCookies("EmailContent","sadsadsad") </script>
只有在同一个页面才能读到,
在另个页面Request.Cookies["EmailContent"]这样读老是null请大侠们搞个实例给我,谢谢

解决方案 »

  1.   

    前台js写入cookie(页面a.aspx):
    function writeCookie(name, value, hours) 

        var expire = ""; 
        if(hours != null) 
        { 
            expire = new Date((new Date()).getTime() + hours * 3600000); 
            expire = "; expires=" + expire.toGMTString(); 
        } 
        document.cookie = name + "=" + escape(value) + expire; 

    调用方法:
    <asp:Button id="Button1" runat="server" onClientClick="writeCookie('abc','123',1)" Text="click" />后台读cookie:(页面b.aspx)
    在b.aspx上写:
    <asp:Label id="label" runat="server"></asp:Label>
    在b.aspx.cs的Page_Load事件里写:
    if(!IsPostBack)
    {
        this.label.Text = Request.Cookies["abc"].Value;
    }===========================
    全部写好后用IE打开a.aspx页面,点click按钮,页面刷新后再打开b.aspx页面,会看到页面上显示着123
    正是cookie["abc"]的值.
      

  2.   

    楼主你的问题出在Request.Cookies["EmailContent"]上面
    应该是Request.Cookies["EmailContent"].Value
      

  3.   

    我是用的Request.Cookies["EmailContent"].Value  跨页面就为null了
      

  4.   

    你看看我的吧:Default.aspx前台:<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
        </div>
        </form>
    </body>
    <Script language="javascript"> 
    function setCookies(name,value) 

    var today = new Date(); 
    var expires = new Date(); 
    expires.setTime(today.getTime() + 1000*60*60*24*2000); 
    parent.document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString(); 
    //alert(parent.document.cookie) 

    setCookies("EmailContent","sadsadsad") </script> 
    </html>Default.aspx.csusing System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
              
              
                Response.Redirect("test.aspx");
            
        }
       }
    test.aspx前台<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>test.aspx后台:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string aa=Request.Cookies["EmailContent"].Value;
            Response.Write(aa);
        }
    }
    你拿去试试吧!