Перенаправление из окна Telerik Rad - PullRequest
1 голос
/ 22 марта 2010

В веб-приложении asp.net у меня есть модальное всплывающее окно, созданное с помощью Telerik Rad Window. В этом всплывающем окне есть кнопка, которая должна выполнить какое-то действие в своем «коде позади», а затем перенаправить приложение на другую страницу.

Для перенаправления я использую команду javascript 'top.document.location.href = myPage' (отправляется в браузер из кода с помощью ScriptManager.RegisterClientScriptBlock (...)).

Это решает мою проблему, но это не очень приятно. Когда кнопка нажата, это запускает постбэк. В браузере всплывающее окно закрывается панелью RadLoadingPanel, которая завершается после завершения обратной передачи. Затем в течение нескольких секунд в приложении ничего не происходит, и только через некоторое время браузер загружает новую страницу.

Тот факт, что в течение нескольких секунд ничего не происходит, не очень хорош, поскольку пользователь не может знать, что делает приложение.

Что я могу сделать? Есть ли лучший способ сделать перенаправление? (Я очень плохо знаком с программированием на JavaScript ...).

1 Ответ

2 голосов
/ 23 марта 2010

Вместо того, чтобы просто вызывать top.document.location.href = myPage, вы можете вызвать функцию, которая отображает наложение (например, показать RadAjaxLoadingPanel поверх тела родительской страницы), а затем установить новый URL-адрес.См. http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html для получения информации о том, как отобразить загрузку панелей с помощью JavaScript.

Я думаю, что задержка после установки location.href нормальная - браузеру / серверу требуется некоторое время, чтобы получить новую страницу HTMLпоэтому старая страница не может исчезнуть мгновенно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...