设定:
我有一个带有按钮的登录页面。当用户单击该按钮时,会发生回发。在按钮的单击处理程序中,我设置了几个会话变量。然后我将用户重定向到另一个页面。
问题:
当加载另一个页面时,SessionID是相同的(同一会话仍然存在),但是,所有会话变量都已消失。我已经广泛搜索了所有各种解决方案的问题(并且有很多),但它们都没有为我工作。
我试过了:
Response.Redirect("NewPage.aspx", false);
我还尝试添加一个元刷新标记(动态),它可以解决与使用Response.Redirect(...)相关的任何潜在问题。
<meta http-equiv="refresh" content="0;URL=NewPage.aspx" />
在这两种情况下,重定向都成功,但会话变量不再存在。我已经广泛检查了所有IIS设置,分析了浏览器和服务器之间交换的数据,但都无济于事。
此外,在同一个项目上工作的两位同事(配置相同的开发机器)没有这个问题!
问题:
对于这个问题是否有合理的解释,或者我在某种程度上侮辱或冒犯了我的开发PC,现在是否正在报复我?
答案 0 :(得分:0)
我记得在异步回发期间调用response.redirect()时发生了这个问题。如果您使用的是UpdatePanel,请尝试将其删除以查看它是否解决了问题。如果这是问题,那么我认为这与旧版Ajax库中的错误有关。由于您没有提及版本信息,我认为这是一个公平的假设。