Javascript 关闭IFRAME窗口

Javascript 关闭IFRAME窗口,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,下面的jQuery通过GridView上的一个按钮触发,它允许我在一个漂亮的弹出Iframe中编辑记录。但是,我需要从EditEmployee.aspx页面的代码(c#)后面关闭Iframe弹出窗口。通过搜索google和stackoverflow,我尝试了几乎所有的选择,但似乎都没有效果。我尝试在父页面上添加一个函数,调用CloseDialog(),然后调用window.parent.CloseDialog(),但我无法让它工作。有人能帮帮我吗,我是jQuery新手 <script ty

下面的jQuery通过GridView上的一个按钮触发,它允许我在一个漂亮的弹出Iframe中编辑记录。但是,我需要从EditEmployee.aspx页面的代码(c#)后面关闭Iframe弹出窗口。通过搜索google和stackoverflow,我尝试了几乎所有的选择,但似乎都没有效果。我尝试在父页面上添加一个函数,调用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>

$(文档).ready(函数(){
$('a#popup')。在('click',函数(e)上{
var page=$(this.attr(“href”)//获取链接的url
变量$dialog=$('')
.html(“”)
.对话({
自动打开:错误,
莫代尔:是的,
身高:450,
宽度:“自动”,
标题:“编辑员工”,
按钮:{
“关闭”:函数(){$dialog.dialog('Close');}
},
关闭:功能(事件、用户界面){
__doPostBack(“”,);//在用户关闭对话框时刷新gridview
}
});
$dialog.dialog('open');
e、 预防默认值();
});
});
试试这个:

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

事实证明,我需要给iframe一个id,然后像下面这样调用close-It函数


为什么需要在服务器端执行此操作?您使用的是哪个版本的jQuery
live()
已被弃用多年。保存记录后,我需要关闭IFrame弹出窗口。
function closeIframe()
{
$('#iframeId').dialog('close');
return false;
}