关闭弹出页面时如何重新加载父页面
本文关键字:何重新 加载 | 更新日期: 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();
}
}