我的主页面有GridView
和Button
s用于添加/更新。当我单击更新按钮时,会弹出一个窗口(使用JavaScript
),其中包含输入字段和Button
,用于实际更新记录。我想知道的是当我点击弹出窗口内的更新按钮时如何刷新主页面。
这是我在实际更新OnClick
上尝试的部分代码:
if (PreviousPage != null)
{
GridView gridv = (GridView)Page.PreviousPage.FindControl("GridView1");
gridv.DataBind();
}
在调试时,我意识到if语句从未执行过。这是否意味着弹出窗口最初没有PreviousPage
?如果是这样,我怎样才能到达 Main 页面呢? (我会注意到主页不是母版页)
这是我在主页面点击按钮时创建弹出窗口的方式(所以它是一个新窗口):
function btnEditEP_Click() {
var recID = document.getElementById('<%=tboxEdit.ClientID%>').value;
window.open("editPopupEP.aspx?Txt=" + recID, "_blank", "toolbar=yes", "resizable=yes", "scrollbars=yes");
}
答案 0 :(得分:1)
在您的子窗口中,您可以在更新功能的子窗口调用中调用类似这样的函数
<script type="text/javascript">
function MyFunction() {
window.opener.PostBackParentWindow();
window.close();
}
</script>
并在父窗口调用中添加此代码
<script type="text/javascript">
function PostBackParentWindow() {
__doPostBack(null, null);
}
</script>
希望它可能会有所帮助
答案 1 :(得分:0)
在更新时,单击也会执行关闭弹出呼叫
<script>
var popupWindow;
function openw(url) {
popupWindow = window.open(url, "popup", "");
}
function closew() {
if (popupWindow) {
popupWindow.close();
}
}
</script>
<a href="javascript:openw('about:blank')">open</a><br />
<a href="javascript:closew()">close</a>
像这里描述的那样。 How to close a popup window in a parent window?
然后在closw
中,您可以使用true / false值调用您的父页面,具体取决于您的更新操作。您可以使用hiddenfield
。