当iframe跳转页面后,当前页面的session丢失 大致的代码如下: 大家知道是怎么回事吗? 
///xxx.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserInfo"] == null)
{
              Session["aa"] = "mm";  <-------- 这个会在登陆页面session丢失。
              //这里不能用Response.Redirect('...'); 因为页面会坏掉。
      Response.Write("<iframe src='Security/login.aspx'></iframe>");
              Response.End();
        }
        .....
}
////login.aspx 页面有段js
        if (window != top.window) {
            top.location.href = "Login.aspx"
        }////login.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
     string pp = Session["aa"] as string; <------------ 这里是null
}

解决方案 »

  1.   

    asp.net Cookie 用法 
    http://www.jb51.net/article/18284.htm
      

  2.   

    iframe跳转的话,cookie不保存的,除非客户端自己设置,
    IE--->internet设置--->隐私-》
    将滑块 从中滑倒 低,不限制第三方的cookie。
      

  3.   

    LZ这里无非就是要在当前页面里面加一个Iframe,然后改她的src,这样的话你给Iframe加个id和runat=server,然后再后台改他的src,session是全局的,不会因为你修改Iframe的src而改变,你先按照我说的办法试下,
      

  4.   

    谢谢 我来阐述一下我的问题 我也是在修改别人的登陆代码我们的框架是这样的aspx 登陆验证 之后 
       1。存user 信息到session中
       2。response.redirect('common.html')
    common.html 发送ajax请求 到 process.aspx
    process.aspx 的page_load() 中 判断session["userinfo"]
    这时候 session 中的userinfo 是null
    这个框架是上边定的,没办法改。 大家知道为什么session是空的吗?
      

  5.   

    这样跳转session丢失很正常,改用其他的保存用户信息