system.web.security
 
FormsAuthentication.RedirectFromLoginPage(txtName.Text, False/true) or 
                FormsAuthentication.SetAuthCookie(txtName.Text, False/true)

解决方案 »

  1.   

    "logon.aspx"和"http://130.130.10.87/logon.aspx"不是一个页面吧?
    顺便问一下:  怎样在一个新窗口打开页面呢?
      

  2.   

    130.130.10.87是本机吗?to:mituzhishi(假作真时真亦假)
    写js:window.open()
      

  3.   

    当时当我改成Response.Redirect("http://130.130.10.87/logon.aspx",true);好像有问题吧,为什么没有目录啊,而是直接的文件。
      

  4.   

    logon.aspx  和http://130.130.10.87/logon.aspx 是一个页面并且和登陆页INDEX。ASPX在一个目录下。
      

  5.   

    为什么不用微软提供的验证,都要用session呢,好处在哪里呀
      

  6.   

    路径没有问题,我只是奇怪,为什么SESSION都没有了呢我要在SESSION里放用户的用户ID,帐户ID,以区分它身份,占内存也不多。通过这些控制它访问页面的权限。
      

  7.   

    我明白了,哈哈原来我访问的时候是通过localhost的,重定向的时候是通过IP过去,所以不行但是为什么localhost和IP是两套SESSION呢
      

  8.   

    localhost 等同于 127.0.0.1,改成下面的应该不会清掉 SessionResponse.Redirect("http://127.0.0.1/logon.aspx",true);开发调试时只能用 localhost 不能用 IP 地址,站点应不会绑定给 130.130.10.87
      

  9.   

    Response.Redirect("http://130.130.10.87/logon.aspx",true);
    会重新写sission
      

  10.   

    :)同意楼上,127。0。0。1和你的ip虽然是一台服务器,但是id地址段不同,会被解析成两个进程,不同进程的session不能通讯。除非你用window服务!
      

  11.   

    很遗憾,Response.Redirect("http://127.0.0.1/logon.aspx",true);也是不行的,呵呵不过,总算明白了原因。
      

  12.   

    但是,为什么我写Response.Redirect("logon.aspx",true) 就可以???
      

  13.   

    同程序下的界面,相当于没退出浏览器,没有重写session阿
    Response.Redirect("http://127.0.0.1/logon.aspx",true);
    相当于关闭浏览器在打开,session已经失效
      

  14.   

    试试:
    Response.Redirect("..\\logon.aspx",true);
      

  15.   

    我想是这样,SESSION以一级域名为界限,“http://localhost”和“http://127.0.0.1/”被视为不同的域,跨域的SESSION自动失效
      

  16.   

    “http://localhost”和“http://127.0.0.1/”是两个不同的域名(网站)。SESSION肯定失效
      

  17.   

    Session只能保持在同一个Web应用中
      

  18.   

    当然了,session只能在一个webapplication中的,试想从你的服务器跳向sina后,会有会话保存?
      

  19.   

    storm2003(storm) 的解释,应该是最正确的。跨域以后,就是新的会话,即使是在同一个webapplication中,由于产生了新的会话,所以自然取不到老会话的值。