Как обновить предыдущую страницу после нажатия кнопки во всплывающем окне?
Моя главная страница имеет GridView
а также Button
s для добавления / обновления. Когда я нажимаю кнопку обновления, всплывает окно (используется 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
за это.