【发布时间】:2011-05-16 14:10:06
【问题描述】:
我的 asp.net 页面上有链接。在用户转到该链接位置之前,我需要在会话中存储一些数据。当用户离开该页面时,我可以捕捉到任何事件吗?
PS 当用户单击链接时,我无法存储该数据。我需要离开页面的事件。
【问题讨论】:
我的 asp.net 页面上有链接。在用户转到该链接位置之前,我需要在会话中存储一些数据。当用户离开该页面时,我可以捕捉到任何事件吗?
PS 当用户单击链接时,我无法存储该数据。我需要离开页面的事件。
【问题讨论】:
Web 的工作方式是无状态的。服务器不知道您的用户离开了页面。它只知道即将到来的新请求,这将在用户单击某个链接后发生。
如果您想在单击该链接之前将数据存储在会话中,则必须在生成包含该链接的页面时将其存储在上一个请求的会话中。
【讨论】:
尝试使用 JavaScript 到 intercept the user before page exit,然后在 JS 函数中 send an Ajax post 到带有日志记录详细信息的 ASP.net 页面(然后将其放入用户的会话对象中)。
【讨论】:
您最好的希望是使用 Javascript 事件。
您可以使用 window.onunload 或 window.onbeforeunload 来触发 AJAX 请求或警告用户在继续之前保存他们的工作。
显然,这两个事件都依赖于浏览器并依赖于打开的 Javascript。
【讨论】: