2010-03-22 111 views
1

在asp.net web应用程序中,我有一个使用Telerik Rad窗口构建的模式弹出窗口。在该弹出窗口中有一个按钮,它必须在其“代码隐藏”中执行一些操作,然后将应用程序重定向到另一个页面。从Telerik Rad窗口重定向

对于重定向,我使用JavaScript命令'top.document.location.href = myPage'(通过ScriptManager.RegisterClientScriptBlock(...)从后台代码发送到浏览器)。

这解决了我的问题,但它不是很好。当按钮被按下时,这将触发回传。在浏览器中,弹出窗口覆盖了一个RadLoadingPanel,当后退完成时,该弹出窗口会消失。然后在几秒钟内,应用程序中没有任何事情发生,并且只有在浏览器加载新页面一段时间之后。

由于用户无法知道应用程序在做什么,几秒钟内没有任何事情发生,这一事实并不是很好。

我该怎么办?有没有更好的方法来做重定向? (我对JavaScript编程非常陌生......)。

回答

2

除了调用'top.document.location.href = myPage'之外,还可以调用一个显示叠加层的函数(例如,在父页面主体上显示RadAjaxLoadingPanel),然后设置新的URL。有关如何显示JavaScript加载面板的信息,请参阅http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html

我认为你设置location.href后的延迟是正常的 - 浏览器/服务器需要一些时间来检索新页面的HTML,以便旧页面不能立即消失。

+0

谢谢!这就是我想要做的。这应该是解决方案。 – Thierry 2010-03-24 08:04:36