【发布时间】:2016-03-09 15:20:45
【问题描述】:
下面的 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>
【问题讨论】:
-
为什么需要在服务器端这样做?
-
您使用的是什么版本的 jQuery?
live()已被弃用多年。 -
记录保存后,我需要关闭 IFrame 弹出窗口。
标签: javascript c# jquery asp.net