我正在使用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);
但感觉脏。必须有一种更优雅的方式来做到这一点。
感谢您的任何建议。
答案 0 :(得分:1)
如果我理解正确,则在事件处理程序上使用window.close()
ScriptManagers
方法注册RegisterStartupScript
应该有效。有关使用ScriptManager.RegisterStartupScript
的详细信息,请参阅MSDN