导航到另一个页面时删除asp.net会话的内容

时间:2013-09-05 14:01:28

标签: c# asp.net session dataset

我有一个我正在页面上使用的会话变量。我知道会话应该用于此目的     在网站的不同页面之间存储数据,但我有一个大数据集要存储,我使用的是会话而不是视图状态。

当我导航到另一个页面时,我想清空会话。

我有办法吗?

我尝试在PageUnload事件上将会话变量设置为null,但这不是我想要的。

我想将页面导航到另一个页面时将会话变量设置为null。

请告诉我。

3 个答案:

答案 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();