关闭弹出页面时如何重新加载父页面

本文关键字:何重新 加载 | 更新日期: 2023-09-27 18:29:03

public static string PopUpParentPage
{
    get
    {
        if (HttpContext.Current.Session["PopUpParentPage"] == null)
        {
           return (string.Empty);
        }
        else
        {
            return (string)(HttpContext.Current.Session["PopUpParentPage"]);
        }
    }
    set
    {
        HttpContext.Current.Session["PopUpParentPage"] = value;
    }
}

我有上面的代码,让我成为弹出窗口的父级。

以下是我如何从父窗口中的链接按钮单击事件打开弹出窗口

protected void lnkOpenPopUp_Click(object sender, ImageClickEventArgs e)
 {
    string strScript = "<script>fnChangeLocationPopup();</script>";
    this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "openPopup", strScript);
}

这也是我通过单击弹出窗口上的按钮关闭弹出窗口的方式

protected void btnClosePopUp_Click(object sender, ImageClickEventArgs e)
  {
    string strScript = "<script>fnChangeLocationPopup();</script>";
    this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "closePopup", strScript);
}

现在我想要的是重新加载父页面,以便刷新数据。如果我知道父页面 URL 的值在上面的第一个代码片段中检索,那么在弹出表单关闭后,我如何在btnClosePopUp_Click刷新它?

关闭弹出页面时如何重新加载父页面

Javascript:在你里面的函数fnChangeLocationPopup()写下面的代码

 window.location.reload();

代码隐藏:

Response.Redirect(Request.RawUrl);

这将重定向到同一页面。

您可以使用

以下代码获取弹出页面的Close事件。并编写一个代码,使用.parent属性重新加载父窗口,如下所示。

<script type="text/javascript">
        window.onbeforeunload = closePopup;
function closePopup(){
window.parent.location.reload();
}
</script>

只需将上面的代码放在<head>标签的弹出页面中即可。

试试这个JavaScript

function myfunction() {
        if (window.opener != null) {
            opener.location.reload(true);
            window.close();
        }
    }