更改页面时ASP.NET更改会话值

时间:2015-03-05 15:01:17

标签: javascript c# asp.net

你好社区的堆栈溢出,这是我的第一个问题,我会尽量清楚。 我正在开发一个在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”。有人知道如何解决我的问题吗?感谢。

2 个答案:

答案 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或母版页中挂钩,或许? (如果您有多个主页,您只需要在所有主页中执行此操作)