window.location.replace或href时丢失了websession

时间:2013-11-19 04:50:48

标签: javascript html asp.net http

当我从webform1尝试window.location.replace("webform2.aspx")时,我丢失了网络会话。 我也试过href。我也把“/webform2.aspx”作为一个参数传递给了我。 但是,重定向会话丢失。 任何人都可以提供帮助。

WebForm1.aspx的

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>

    <script type="text/javascript">
        function pageload() {
            window.location.href("/webform2.aspx");
        }
    </script>
</head>
<body onload="pageload()">
    <form id="form1" runat="server" >
    </form>
</body>
</html>

WebForm1.aspx.cs中

protected void Page_Load(object sender, EventArgs e)
        {
           string str = this.Session.SessionID;
        }

Webform2.aspx只是一个空表单,并且通过调试将aspx.cs作为上面的代码来记录会话ID。

更新 我使用下面的代码来实现。但是我只是保持这个问题开放,知道重定向与相对URL(没有会话ID)失去会话。这里还有一点是我将cookieless视为真实,因此只有我的网址会有会话ID。

 var path = window.location.href;
 var i = path.lastIndexOf("/") + 1;
 var loc = path.substring(0, i ).concat("webform2.aspx");  
            window.location.href(loc);

1 个答案:

答案 0 :(得分:0)

我使用了无cookie会话,因此相对URL重定向不具备会话知识,因此启动了新会话。

我使用下面的代码来克服这个问题。

var path = window.location.href;
 var i = path.lastIndexOf("/") + 1;
 var loc = path.substring(0, i ).concat("webform2.aspx");  
            window.location.href(loc);