0

我有一个pageA.aspx。在其中,我打开一个带有包含 pageB.asxp 的 iframe 的 jQuery 对话框。

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

4

2 回答 2

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
           }
});
于 2012-07-19T11:54:40.457 回答
0

您可以将提交表单的 _target 属性设置为 _parent 。然后 POST 的结果将显示在父框架(pageA.aspx)中

<form target="_parent">
</form>

这是你想要的吗?

于 2012-07-18T22:32:00.513 回答