如果用户被重定向到某个页面,我需要清除存储在其中的一些会话数据。检查用户是否离开使用ASP.NET的页面
我发现这个职位在那里我可以看到可能的解决方案:https://stackoverflow.com/a/20283726/3917754
但这里是一个问题 - 我必须输入页面名称,根据答案。所以输入所有页面名称我不认为是很好的解决方案。
有没有人有一些想法如何检查用户是否离开页面删除会话。它必须是服务器端代码。
如果用户被重定向到某个页面,我需要清除存储在其中的一些会话数据。检查用户是否离开使用ASP.NET的页面
我发现这个职位在那里我可以看到可能的解决方案:https://stackoverflow.com/a/20283726/3917754
但这里是一个问题 - 我必须输入页面名称,根据答案。所以输入所有页面名称我不认为是很好的解决方案。
有没有人有一些想法如何检查用户是否离开页面删除会话。它必须是服务器端代码。
你也可以这样做:
在每一页上,定义了下面的脚本代码(或母版页定义它):
window.onbeforeunload = confirmExit;
function confirmExit() {
var url = '<%: ResolveUrl("~/DeleteSessionAjaxHandler.ashx") %>'
$.ajax({
url: url,
type: "POST",
async: false,
data: {},
success: function(data) {}
});
}
创建DeleteSessionAjaxHandler.ashx
处理程序,并删除里面的对话。
public class DeletedSessionAjaxHandler: IHttpHandler, IRequiresSessionState
{
public override void ProcessRequest(HttpContext context)
{
//Session delete code
}
}
每当你去到另一个页面时,js会被触发。 – Maris 2015-04-02 13:26:22
您可以在'onpageshow'上使用该功能。参考可以在这里找到(http://www.w3schools.com/tags/ev_onpageshow.asp) – 2015-04-02 10:03:44
你可以使用Page_Unload事件来清除会话变量,当用户离开页面时 – Sandeep 2015-04-02 10:04:07
@Sandeep,每次都有'Page_Unload'我刷新页面? – demo 2015-04-02 10:09:32