你好社区的堆栈溢出,这是我的第一个问题,我会尽量清楚。 我正在开发一个在ASP.NET C#中学习的项目。
当用户通过任何按钮或URl栏更改WebForm时,我试图更改SESSION的值。我已经尝试使用javascript代码:
<script type="text/javascript">
window.onbeforeunload = confirmExit;
function confirmExit() {
'<%Session["teste"] = "changed"; %>';
}
</script>
进行测试在WebForm1中,我在PageLoad事件中为SESSION提供了一个值:
Session["teste"] = "teste";
然后当我通过URl栏转到WebForm2并将SESSION的值打印到标签时,结果是“已更改”,即我想要的值,但是如果我通过ASP按钮转到WebForm2的值SESSION仍然是“teste”。有人知道如何解决我的问题吗?感谢。
答案 0 :(得分:1)
这可能会对你有所帮助。首先检查链接,你必须阅读asp.net中的会话 https://msdn.microsoft.com/en-us/library/ms178581(v=vs.140).aspx
答案 1 :(得分:0)
有关ASP.NET页面生命周期的Google信息。当用户离开页面时会触发Page_OnUnload
事件。
我认为有一种方法可以在应用程序的所有页面,Global.asax或母版页中挂钩,或许? (如果您有多个主页,您只需要在所有主页中执行此操作)