asp.net 2.0 的网站,登录检测成功后,用window.open打开一个新窗口跳转到登录后的页面,运行该项目能正确跳转到指定页面,但发布网站,新建一个虚拟目录指向发布的网站,却无法跳转到指定页面,而是跳转到登录页面,并把指定跳转的页面做为了ReturnUrl参数值。见下面登录跳转代码和登录前后的页面图片(主要看地址)
代码:
LoginResult result = AccountController.Login(userName, password);
if (result == LoginResult.Success)
{
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append("window.open('Framework/Framework.aspx','_blank','',true);");
        sb.Append("window.opener = null;");
        sb.Append("window.close();");
        this.ClientScript.RegisterClientScriptBlock(this.GetType(), "LoginSuccess", sb.ToString(), true);
}
登录前:登录后:

解决方案 »

  1.   

    虚拟目录和主站不共享session的,除非你配置过,保存session到数据库什么的。要么改为cookie验证身份,而不是sessionWeb开发学习资料推荐
    Web前端开发框架
    jqGrid事件
      

  2.   

    谢谢你的回复。不过我没看懂,这里没有Session,两个虚拟目录,配置是一样的,只是一个指向源代码的web目录,登录后能跳转到指定页,一个指向发布的目录,登录后无法跳转到指定页,不知怎么回事。
      

  3.   

    Quote: 引用 1 楼 showbo 的回复:

    虚拟目录和主站不共享session的,除非你配置过,保存session到数据库什么的。要么改为cookie验证身份,而不是session谢谢大神。不过我没看懂,这里没有Session。两个虚拟目录,配置是一样的,只是一个指向源代码的web目录,登录后能跳转到指定页,一个指向发布的目录,登录后无法跳转到指定页,不知怎么回事。 
      

  4.   

    自己看代码,登录后能看的页面肯定有验证代码的,一般session的多
      

  5.   


    求教大侠,要怎样设置才能跳转到希望的页面呢? 复制该项目重建一个虚拟目录 和 把该目录发布网站后新建一个虚拟目录 是一样的结果,登录提交后都是跳转到登录页而不是跳转到指定页, 建的虚拟目录和最初项目的虚拟目录都是一样的设置,代码也一样,Webconfig也一样,都在同一个网站下,只是路径不一样,结果却不一样。