我写了一个网站,首页中我把用户登录做成的是一个iframe,叫logo,登录成功后logo这个iframe就转到另外一个页面,上面包含有用户名信息,可以修改密码等功能;另外网站首页的主要内容中我也是做成的iframe,叫main,在导航上有首页、留言等linkbutton,假如点留言的话,mian这个iframe就跳转到message这个页面,不是整个网页跳,只是这个iframe跳。现在遇到的问题是,我首先输入账号登录后,logo那个iframe也跳到了显示用户信息等的那个页面上,当我点击导航上的留言这个linkbutton的时候,用户的登录信息马上就自动注销了,回到了最开始的登录状态了。linkbutton的click事件我是这么写的:
protected void linkbutton5_Click(object sender, EventArgs e)
    {
        Page.RegisterStartupScript("Message","<script>parent.frames['Main'].location.href='Message.aspx';</"+"script>");
    }请教下大家,这到底是什么原因造成的呢?我该怎么修改,才能让登录信息不被注销啊,就是用户不点退出按钮退出的话,就一直是登录状态的。谢谢了~~~~~~

解决方案 »

  1.   


    一个位于iframe中的aspx页面,通过iframe的src参数调用,并传递参数,但是ASPX页面无论如何也不能保存SESSION,COOKIES也不行。
    原因:IE默认不接受没有标识为安全的第三方COOKIE,造成不能保存COOKEIS以及SESSION。处理方法:
    打开IIS管理器,打开ASPX页面所在的那个站点的属性->HTTP头->添加按钮自定义HTTP头为 P3P
    自定义HTTP头值为 CP=”CAO PSA OUR”然后保存,再试ASPX访问一切正常。
      

  2.   

    框架怎么设置的
    login 单独页
    <frameset rows="68,*" border="0" frameSpacing="0" frameBorder="0">
    <frame  src="导航页" name="topFrame" scrolling="no" noresize>
    <frameset id="mainFrame" cols="178,10,*" framespacing="0" frameborder="0">
    <frame src="menu.aspx" name="leftFrame" noresize>
    <frame src="left.htm" name="Left" scrolling="no" noresize>
    <frame src="Default.aspx"  name="rightFrame" noresize >
    </frameset>
    </frameset>
    top.leftFrame.location.href=""
      

  3.   

    登录信息保存在哪儿的?是不是在2003下session丢失了?
      

  4.   

    登录后用session保存 然后再赋值给iframe这样它就一直在了
      

  5.   

    我说的是asp.net在windows 2003 server下session丢失的问题。