大家好,我有个小问题哈
是这样的,用vs2012开发的asp.net网站,有个超级奇怪的现象:
在temp2.asp.cx代码中:
protected void Page_Load(object sender, EventArgs e)
    {
        Session ["userID"]="13";
    }在temp1.asp.cx代码中
protected void Page_Load(object sender, EventArgs e)
    {
        Response.write(Session ["userID"]);
    }先运行temp2.aspx,再运行temp1.aspx没有问题,输出13.但是在temp2.asp.cx代码中加了一个按钮,(在temp1.asp.cx不变):
protected void Page_Load(object sender, EventArgs e)
    {
        Session ["userID"]="13";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write(Session["userID"]);
    }先运行temp2.aspx,再点击一下button1,再运行temp1.aspx,就是空的值.好像Session没有了,不知道是什么情况啊???
在ie11下有这个问题,360没有这个问题,本地测试。
请大家帮我看什么问题?

解决方案 »

  1.   

    由于超过一定的时间,Session失效了??
      

  2.   

    你可以使用一个 http 调试器查看 Request、Response,查看 Cookies 中的 ASP.NET_SessionId 在第一次设置之后,何时发生了改变。
      

  3.   

    以前我也遇见过这样,调式的时候发现Session["userID"]取出来以后,Session集合里面就移除了,不懂是不是因为这样原因。
      

  4.   

    VS2015 + IE11测试无此问题。重新生成项目试试看
      

  5.   

    VS 2010 + IE8 也没发现 问题
      

  6.   

    你的IE是不是设置了,每次访问都会自动清除缓存?
    你点击button,刷新页面 IE帮你清掉了Session