繁体   English   中英

检查用户是否使用ASP.NET离开页面

[英]Check if user leaves page with 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
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM