0

我的主页有一个GridViewButtons 用于添加/更新。当我单击更新按钮时,会弹出一个窗口(JavaScript已使用),其中包含输入字段和Button用于实际更新记录的窗口。我想知道的是当我点击弹出窗口内的更新按钮时如何刷新主页。

这是我在实际更新中尝试的部分代码OnClick

if (PreviousPage != null)
            {
                GridView gridv = (GridView)Page.PreviousPage.FindControl("GridView1");
                gridv.DataBind();
            }

在调试时,我意识到 if 语句从未执行过。这是否意味着弹出窗口没有PreviousPage初始值?如果是这样,我怎样才能到达主页呢?(我要注意主页不是母版页)

这就是我在主页上单击按钮时创建弹出窗口的方式(所以它是一个新窗口):

function btnEditEP_Click() {
            var recID = document.getElementById('<%=tboxEdit.ClientID%>').value;
            window.open("editPopupEP.aspx?Txt=" + recID, "_blank", "toolbar=yes", "resizable=yes", "scrollbars=yes");
        }
4

2 回答 2

1

在您的子窗口上,您可以在您的子窗口中调用类似这样的函数调用您的更新函数

<script type="text/javascript">
        function MyFunction() {

            window.opener.PostBackParentWindow();
            window.close();
        }
  </script>

并在您的父窗口调用中添加此代码

  <script type="text/javascript">
 function PostBackParentWindow() {

            __doPostBack(null, null);
        }
</script>

希望它可能会有所帮助

于 2015-07-30T07:20:35.690 回答
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>

就像这里描述的那样。如何关闭父窗口中的弹出窗口?

然后closw根据您的更新操作,您可以使用 true/false 值调用您的父页面。您可以hiddenfield为此使用 a 。

于 2015-07-30T07:24:35.387 回答