1

我正在重定向 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 事件。但是当弹出窗口加载而不是卸载时调用它。

4

1 回答 1

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 进行操作,然后使用 URL 中的标识符重定向回 SourcePageResponse.Redirect(SourcePage.aspx?operation=myoperation)

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

于 2013-08-14T04:45:50.217 回答