我有一个应用程序,用户单击父窗口上的按钮以显示弹出窗口。当用户关闭弹出窗口时,如何确定(在父窗口代码隐藏中)用户已关闭弹出窗口?
这是关闭弹出窗口的代码:
<script language="javascript" type="text/javascript">
function closeWin() {
GetRadWindow().Close();
}
</script>
<asp:Button ID="btnClose" runat="server" Text="Close"
OnClientClick="closeWin();return false;" onclick="btnClose_Click"/>
答案 0 :(得分:4)
RadWindowManager和RadWindow都有onClientClose事件。
RadWindow关闭后,将调用OnClientClose
。然后你可以通过Ajax或完整回发后调用父页面的代码。
<telerik:RadWindowManager .... OnClientClose="clientClose">
</telerik:RadWindowManager>
OR
<telerik:RadWindow ... OnClientClose="clientClose">
</telerik:RadWindow>
<telerik:RadAjaxManager ... ID="RadAjaxManager1"
OnAjaxRequest="RadAjaxManager1_AjaxRequest">
</telerik:RadAjaxManager>
function clientClose(oWnd, args) {
// Optional arguments passed from RadWidow
var arg = args.get_argument();
// Here the example for ajax post back using RadAjaxManager
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(arg);
}
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
// Argument passed by child window. It is an optional.
if (e.Argument == "xxx")
{
// Do something
}
}
<script language="javascript" type="text/javascript">
function closeWin(arg) {
GetRadWindow().Close(arg);
}
</script>
<asp:Button ID="btnClose" runat="server" Text="Close"
OnClientClick="closeWin('something');return false;" onclick="btnClose_Click"/>