2011-07-11 79 views
0

在我的网站中,我尝试将每个用户的某个页面限制为1个会话,这样做我使用了Cookie(不能使用Session变量)和“onunload”事件在masterpage中的body元素 - 我删除了cookie,并在特定的webpart的CreateChildControl中检查cookie /创建它,如果它不存在。
问题是,当我从一个页面移动到另一个页面时,上一页的“onunload”事件之前的createchildcontrols事件很奇怪,会发生什么情况是Cookie仍然存在,因为它尚未被先前删除页面。加载新页面后的JavaScript onunload occours

我该如何解决这个问题?

在此先感谢。

回答

1

Onunload不可靠并且不应该用于任何重要目的。如果浏览器崩溃等怎么办?

如果您想限制为每个用户一个会话,只需删除/无效旧会话,如果由于某种原因创建了新会话。

+0

我不能使用会话变量 - 我正在通过sharepoint开发网站,并且“enablesessionstate”在农场中不活跃(并且这不取决于我决定是否启用天气) – liranco

+0

此外,在浏览器/电脑崩溃的情况下,将1小时的cookie过期 – liranco

+0

将用户锁定超过几秒钟是不可接受的... – ThiefMaster