关闭内嵌框架窗口

Close IFRAME Window

本文关键字:框架 窗口      更新时间:2023-09-26

下面的jQuery由GridView上的一个按钮触发,它允许我在一个漂亮的弹出Iframe中编辑记录。 但是,我需要从 EditEmployee .aspx 页面的代码 (c#) 后面关闭 Iframe 弹出窗口。 我已经通过搜索谷歌和堆栈溢出尝试了几乎所有选项,但似乎没有一个有效。 我尝试在父页面上添加一个函数,调用 CloseDialog(),然后调用 window.parent.CloseDialog(),但我无法让它工作。 有人可以帮帮我吗,我是jQuery的新手?

<script type="text/javascript">
    $(document).ready(function () {
        $('a#popup').on('click', function (e) {
            var page = $(this).attr("href")  //get url of link
            var $dialog = $('<div></div>')
            .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
            .dialog({
                autoOpen: false,
                modal: true,
                height: 450,
                width: 'auto',
                title: "Edit Employee",
                buttons: {
                    "Close": function () { $dialog.dialog('close'); }
                            },
                close: function (event, ui) {
                   __doPostBack('<%= btnRefresh.ClientID %>', '');  // To refresh gridview when user close dialog
                }
            });
            $dialog.dialog('open');
            e.preventDefault();
        });
    });
</script>
 <asp:TemplateField HeaderText="ID">
       <ItemTemplate >
           <a id="popup" href='EditEmployee.aspx?id=<%# Eval("ID") %>' >edit</a>
     </ItemTemplate>
       </asp:TemplateField>

试试这个:

ClientScript.RegisterStartupScript(GetType(), "closeDialog", "$dialog.dialog('close');", true);

事实证明,我需要给我一个 iframe 一个 id,然后像这样调用关闭它函数 从弹出窗口关闭 IFrame 对话框

function closeIframe()
{
$('#iframeId').dialog('close');
return false;
}