我有一个我正在页面上使用的会话变量。我知道会话应该用于此目的 在网站的不同页面之间存储数据,但我有一个大数据集要存储,我使用的是会话而不是视图状态。
当我导航到另一个页面时,我想清空会话。
我有办法吗?
我尝试在PageUnload事件上将会话变量设置为null,但这不是我想要的。
我想将页面导航到另一个页面时将会话变量设置为null。
请告诉我。
答案 0 :(得分:0)
你只需要打电话
Session.remove("nameOfSessionVariable") ;
关于如何处理“离开页面事件”
你必须编写一些前端的javascript才能使用 像window.onbeforeunload()之类的东西。然后你必须做一个 AJAX打电话告诉你的后端这个事件正在发生。这个 当然不是万无一失的。浏览器崩溃或强制“退出”会 不要发动这件事。
从这里可以看到 C# ASP.NET Page Leaving event?
答案 1 :(得分:0)
如果您确实想要检测用户何时离开页面 - 您必须从客户端执行此操作。处理onbeforeunload
事件并进行AJAX调用以清除会话变量。
但这太过分了。考虑重构代码以在会话中存储较少量的数据,并且仅在不同页面之间使用。
答案 2 :(得分:0)
在导航到的页面上,您可以按如下方式清除会话变量:
Session.Remove("Name");
完全放弃会话:
Session.Abandon();