我有一个pageA.aspx。在其中我打开一个带有iframe的jQuery对话框,其中包含pageB.asxp。
var dlg = $('#dialog1').html('<iframe id="ifrm"></iframe>');
dlg.dialog({
autoOpen: false,
resizable: false,
draggable: false,
modal: true
});
dlg.parent().appendTo(jQuery("form:first"));
$('#buttonOpenDialog').click(function () {
var url = '../PageB.aspx';
$("#dialog1>#ifrm").attr("src", url);
$('#dialog1').dialog('open');
return false;
});
直到这里一切都好。现在我提交表单,当回发结束时,我想关闭这个对话框,我这样做:
function closePopup() {
parent.$("#dialog1").dialog('close');
__doPostBack();
}
我想刷新父页面pageA.aspx而不做丑陋的
__doPostBack()
我该如何做到这一点? 谢谢
编辑:这似乎是一个复杂的问题。请参与其中; P答案 0 :(得分:1)
在父页面中添加隐藏按钮。当模态关闭时,生成隐藏按钮的单击事件。它将刷新父页面。
dlg.dialog({
autoOpen: false,
resizable: false,
draggable: false,
modal: true,
close: function (event, ui) {
// btnHidden is the id of the hidden button.
document.getElementById('<%=btnHidden.ClientID%>').click();
// To refresh gridview when user close dialog
}
});
答案 1 :(得分:0)
您可以将提交表单的_target属性设置为_parent。 POST的结果将显示在父框架(pageA.aspx)
中<form target="_parent">
</form>
这是你想要的吗?