1

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

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

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

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

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

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

感谢您的任何建议。

4

1 回答 1

1

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

于 2008-10-30T15:36:10.247 回答