ASP.NET会话状态 - 适用于Firefox& IE8,不在Chrome中

时间:2013-01-24 16:06:26

标签: asp.net google-chrome session iis internet-explorer-8

我正在尝试使用会话状态传递四个项目,如下所示:

    protected void createFirstNameSessionVariable(object sender, EventArgs e)
    {
        Session["FirstName"] = firstName.Value;
        Session.Timeout = 60;
        TextBox1.Text = Session["FirstName"].ToString(); 
    }

    protected void createLastNameSessionVariable(object sender, EventArgs e)
    {
        Session["LastName"] = lastName.Value;
        Session.Timeout = 60;
        TextBox2.Text += Session["LastName"].ToString();
    }
    protected void createIdSessionVariable(object sender, EventArgs e)
    {
        Session["FacebookId"] = facebookId.Value;
        Session.Timeout = 60;
        TextBox3.Text += Session["FacebookId"].ToString();
    }
    protected void createEmailSessionVariable(object sender, EventArgs e)
    {
        Session["Email"] = email.Value;
        Session.Timeout = 60;
        TextBox4.Text += Session["Email"].ToString();
    }

在Firefox和IE8中,我可以使用以下内容在另一页上获取它们:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["FacebookId"] != null)
        {
            name = Session["FacebookId"].ToString();
            studentButton.Text = name;
        }
        else
        {
            studentButton.Text = "fail";
        }
    }

但是,在Chrome中,按钮标签设置为失败,因为会话变量在接收端具有空值。

在IIS 7.0 Manager上,会话状态当前设置为“正在处理” 模式:使用Cookies 名称:ASP.NET_SessionId 超时:20分钟

检查使用主机标识进行模拟。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

确保您在Chrome中允许使用Cookie。