Вопрос

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

Для перенаправления я использую команду javaScript 'top.document.location.href = mypage' (отправлено в браузер из кода-и-завода с помощью scriptmanager.registerclientscriptblock (...)).

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top