如何使用ASP.NET检测页面关闭事件

当我点击一个MenuItem来打开一个新的aspx页面时,我有一个MasterPage和内容页面的ASP.NET Web应用程序。 如果我想关闭新的页面浏览器选项卡,我想显示一个弹出窗口或对话框,提醒用户他正在关闭浏览器选项卡。 我不知道如何检测关闭browserTab按钮。 我在新的aspx页面中使用了以下代码:

<script type="text/javascript">
    function CloseWindow() {
        alert('closing');
        window.close();
    }
</script>

新的页面代码:

protected void Page_Load(object sender, EventArgs e)
{
    Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
}

感谢Thanx。


这工作完美。

javascript检测浏览器关闭标签页/关闭浏览器

<body onbeforeunload="ConfirmClose()" onunload="HandleOnClose()">

var myclose = false;

function ConfirmClose()
{
    if (event.clientY < 0)
    {
        event.returnValue = 'You have closed the browser. Do you want to logout from your application?';
        setTimeout('myclose=false',10);
        myclose=true;
    }
}

function HandleOnClose()
{
    if (myclose==true) 
    {
        //the url of your logout page which invalidate session on logout 
        location.replace('/contextpath/j_spring_security_logout') ;
    }   
}

我自己遇到了很多问题,唯一可行的是:来自javascript的“window.onbeforeunload”事件,但问题是这比执行期望的执行要多得多。 所以基本上,如果你与主页等工作,我不认为这是可以做到的。

我认为最好你尝试以不同的方式处理这个问题,否则你的关闭信息会显示出来。


您可以在页面中使用JavaScript处理此问题。
首先创建一个函数:

function closeMessage() {
    return "Are you sure you want to leave this page";
}

之后,分配这种方法:

window.onbeforeunload = closeMessage;

请让我知道是否有帮助

链接地址: http://www.djcxy.com/p/71499.html

上一篇: how to detect the Page Close Event with ASP.NET

下一篇: IntelliJ IDEA edit android code while debugging