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 に答える