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

对于重定向,我使用 javascript 命令“top.document.location.href = myPage”(通过 ScriptManager.RegisterClientScriptBlock(...) 从代码隐藏发送到浏览器)。

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

事实上,几秒钟内没有任何反应并不好,因为用户无法知道应用程序正在做什么。

我能做些什么 ?有没有更好的方法来进行重定向?(我对 javascript 编程很陌生......)。

有帮助吗?

解决方案

您可以调用显示叠加层的函数(例如,在父页面主体上显示 RadAjaxLoadingPanel),然后设置新的 URL。看 http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html 有关如何使用 JavaScript 显示加载面板的信息。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top