如何从jQuery对话框回发到父页面?

时间:2012-07-18 16:34:18

标签: c# javascript jquery asp.net

我有一个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

2 个答案:

答案 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>

这是你想要的吗?