我正在重定向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事件。但是在加载弹出窗口时调用此方法,而不是在卸载弹出窗口时调用。
答案 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
的值,并根据需要进行操作。