如何在关闭弹出窗口时刷新父页面

时间:2013-07-04 02:12:47

标签: javascript asp.net

我有两个ASPX页面。在第一页中,我使用数据库中的值显示网格,在第二页上,我显示为弹出窗口,用户可以在其中看到另一个网格视图,他们可以从此页面添加成员。在他们从弹出窗口添加成员并关闭之后,我的要求是刷新第一页,以便其网格在其gridview上重新加载新添加的成员。谁可以帮我这个事?我正在尝试以下代码,但这没有帮助:

    function refreshParent() {
        window.opener.location.href = window.opener.location.href;

        if (window.opener.progressWindow) {
            window.opener.progressWindow.close()
        }
        window.close();
    }

  <body onunload="refreshparent();">

另一个问题是我在弹出窗口中再使用一个服务器端按钮,因此每当按下按钮时,窗口关闭并刷新父页面。但我希望用户输入关闭弹出窗口。

你的帮助会非常明显。

由于

3 个答案:

答案 0 :(得分:7)

您可以继续使用以下代码:

父页

HTML

<script type="text/javascript">
    function OpenPopup() {
        window.open('ChildPopupWindows.aspx', '', 'width=200,height=100');            
    };
</script>

<input type="button" value="Open popup" onclick="javascript: return OpenPopup()" />

子页面

HTML

<script type="text/javascript">
    function CloseWindow() {
        window.close();
        window.opener.location.reload();
    }
</script>

<asp:Button ID="btnServer" runat="server" OnClick="btnServer_Click" Text="Request server" />
    <br />        
    <input type="button" value="Close Window" onclick="javascript: return CloseWindow();" />

C#

protected void btnServer_Click(object sender, EventArgs e)
    {

    }

说明

当您单击“请求服务器”按钮时,将发生服务器回发,而您的子窗口将不会关闭。

点击“关闭窗口”按钮后,您的子窗口将关闭,这也将刷新您的父页面。

欢迎查询...

答案 1 :(得分:0)

在关闭按钮下,您可以添加此代码

 Response.Write("<script language=JavaScript>  opener.location.reload(); </script>")
 Response.Write("<script language='javascript'> { window.close();}</script>")

答案 2 :(得分:0)

<button onclick="CloseAndRefresh()" class="close-btn">&times;</button>

<script>
//close popup window and refresh the parent window
function CloseAndRefresh()
{
   window.history.back(); //This will refresh parent window.
   window.close();//Close popup window. You may also use self.close();
}
</script>