Как обновить предыдущую страницу после нажатия кнопки во всплывающем окне?

Моя главная страница имеет GridView а также Buttons для добавления / обновления. Когда я нажимаю кнопку обновления, всплывает окно (используется 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");
        }

2 ответа

Решение

В вашем дочернем окне вы можете вызывать функцию, подобную этой, в вызове дочернего окна вашей функции обновления.

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

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

и в родительском окне вызова добавьте этот код

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

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

Надеюсь, это поможет

При обновлении нажмите также выполнить закрывающий всплывающий вызов

<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 за это.

Другие вопросы по тегам