3

设置:

我有一个带有按钮的登录页面。当用户单击按钮时,会发生回发。在按钮的单击处理程序中,我设置了几个会话变量。然后我将用户重定向到另一个页面。

问题:

当另一个页面加载时,SessionID 是相同的(相同的会话仍然存在),但是,所有的会话变量都消失了。我已经在谷歌上广泛搜索了这个问题,尝试了所有不同的解决方案(而且有很多),但没有一个对我有用。

我努力了:

Response.Redirect("NewPage.aspx", false);

我还尝试添加一个元刷新标签(动态),它可以避开与使用 Response.Redirect(...) 相关的任何潜在问题。

<meta http-equiv="refresh" content="0;URL=NewPage.aspx" />

在这两种情况下,重定向都会成功,但会话变量不再存在。我已经广泛检查了所有 IIS 设置,分析了浏览器和服务器之间交换的数据,但都无济于事。

此外,在同一个项目上工作的两个同事(使用相同配置的开发机器)没有这个问题!

问题:

这个问题是否有合理的解释,或者我是否以某种方式侮辱或冒犯了我的开发 PC,它现在是否正在报复我?

4

1 回答 1

0

我记得在异步回发期间调用 response.redirect() 时看到了这个问题。如果您使用的是 UpdatePanel,请尝试将其删除以查看是否可以解决问题。如果这是问题所在,那么我认为这与旧版本的 Ajax 库中的错误有关。由于您没有提及版本信息,我认为这是一个公平的假设。

于 2012-05-25T00:55:26.157 回答