ASP.NET Ajax:Ajax调用后关闭窗口?

时间:2008-10-30 14:55:27

标签: asp.net javascript asp.net-ajax

我正在使用ASP.NET Ajax。在服务器调用完成后,如何告诉浏览器关闭当前窗口(服务器端代码)?

我设法在服务器方法中使用ASP.NET Ajax的ScriptManager方法“RegisterDataItem”(在按钮单击处理程序中):

sm.RegisterDataItem(ActionLabel, "action:closewindow")

和一个隐藏的Label并在客户端以这种方式处理它:

function PageLoadingHandler(sender, args)
{
    var dataItems = args.get_dataItems();
    if (dataItems['ActionLabel'] == 'action:closewindow') {
        window.close()
    }
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);

但感觉。必须有一种更优雅的方式来做到这一点。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,则在事件处理程序上使用window.close() ScriptManagers方法注册RegisterStartupScript应该有效。有关使用ScriptManager.RegisterStartupScript的详细信息,请参阅MSDN