在页面上单击X按钮时,如何检查弹出窗口是否已关闭

时间:2013-08-14 03:46:15

标签: c# asp.net popup

我正在重定向asp.net中的弹出窗口(不是通过javascript)。我的要求是,当用户关闭弹出窗口时,我需要在主页面上执行一些操作。我怎么能在asp.net中这样做。

这是我的重定向代码,

if (Request.QueryString["DESC"].ToString() == "AAA")
{
    Response.Redirect("Edit.aspx"','popup', 'statusbar=no,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,height=600,width=800');");
}

在Edit.aspx中,

protected void Page_Unload(object sender,EventArgs e)
{
 //This is loading when page is loaded. This did not work when page is closed.
}

请建议我任何方法。 假设现在打开Edit.aspx弹出窗口。当它关闭时,我想执行一些其他功能。

我尝试使用Page_Unload事件。但是在加载弹出窗口时调用此方法,而不是在卸载弹出窗口时调用。

1 个答案:

答案 0 :(得分:2)

您可以使用javascript从父级打开子窗口,如下所示: -

window.open('Child.htm','');
window.myfunction = function(){

}

现在,当用户点击子窗口的关闭按钮时,您可以调用父页面中定义的javascript函数,或者参考父页面的事件执行enent: -

window.onunload = function (e) {
    opener.myfunction (); //or
    opener.document.getElementById('someid').innerHTML = 'update content of parent window';
};

但是如果你想在asp.net(没有javascript)中这样做,你可以按照以下步骤操作: -

1)Response.Redirect(DestinationPage.aspx)

2)对DestinationPage进行操作,并使用。重定向回SourcePage 网址Response.Redirect(SourcePage.aspx?operation=myoperation)

中的标识符

3)从operation读取QueryString的值,并根据需要进行操作。