我想在页面卸载上清除会话。
这是一个条件:
我尝试使用AJAX PageMethod调用服务器端程序从客户端脚本中删除会话。但是程序没有被命中,我已经使用断点检查了它。
服务器端程序在master.cs文件中
感谢您的帮助。
以下是site.master中的代码
<body onunload="HandleClose();">
<script type="text/javascript">
function HandleClose()
{
PageMethods.AbandonSessions();
}
这是master.cs中的代码:
[System.Web.Services.WebMethod]
public static void AbandonSessions()
{
HttpContext.Current.Session.Abandon();
}
答案 0 :(得分:0)
您需要为页面卸载注册javascript事件,并发送AJAX请求以清除会话。当用户关闭浏览器窗口或选项卡时,将触发此事件。这是一个example page:
<html>
<head>
<script type="text/javascript">
function clearSession() {
// TODO: Send an AJAX call to a server side script
// that will clear the session
}
</script>
</head>
<body onunload="clearSession();">
</body>
</html>