2010-03-22 106 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