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的值为retrieve,那么一旦弹出窗体关闭,如何在btnClosePopUp_Click上刷新它?
答案 0 :(得分:0)
Javascript:在您的函数fnChangeLocationPopup()
写下代码
window.location.reload();
<强>代码隐藏:强>
Response.Redirect(Request.RawUrl);
这将重定向到同一页面。
答案 1 :(得分:0)
您可以使用以下代码获取弹出页面的Close
事件。
并编写一个代码,使用.parent
属性重新加载父窗口,如下所示。
<script type="text/javascript">
window.onbeforeunload = closePopup;
function closePopup(){
window.parent.location.reload();
}
</script>
将上面的代码放在<head>
标记中的弹出页面中。
答案 2 :(得分:0)
试试这个javascript
function myfunction() {
if (window.opener != null) {
opener.location.reload(true);
window.close();
}
}