Отображение экрана загрузки, пока сервер генерирует страницу - PullRequest
1 голос
/ 04 января 2012

У меня есть сценарий ASP, который генерирует содержимое страницы в ответ на некоторые параметры GET.

Иногда создание страницы занимает немного времени (выполнение запросов к базе данных и т. Д.), И я хотел бы что-то отобразитьпользователь во время загрузки страницы.Какой стандартный способ сделать это?

В данный момент я не использую AJAX на странице.

Ответы [ 2 ]

3 голосов
/ 04 января 2012

Есть ли причина, по которой вы не используете AJAX? У меня была похожая проблема на стажировке, которую я проходил прошлым летом. Сначала я решил проигнорировать AJAX, частично из-за лени и нежелания изучать использование javascript / ajax. Однако становилось все более очевидным, что без ajax пользовательский интерфейс значительно затрудняется (из-за того же, о чем вы говорите здесь ... длительная работа на стороне сервера).

Если вы в состоянии «AJAXify» для вашего приложения, то, я полагаю, вы могли бы добавить загрузочное изображение при первоначальном запросе, а затем заменить его на заданное содержимое при возврате асинхронного вызова. Jquery делает подобные вещи довольно простыми благодаря различным возможностям AJAX и функциям обратного вызова.

Конечно, вы, вероятно, уже знаете обо всем этом ... поэтому, пожалуйста, простите меня, если я просто повторяю очевидное!

2 голосов
/ 04 января 2012

Вы можете использовать Response.Flush для принудительной загрузки чего-либо в браузер:

Response.Write("<div id=""preloader"">Loading, please wait...</div>")
Response.Flush()
'long running code...
'long running code...
'long running code...
Response.Write("<script type=""text/javascript"">document.getElementById(""preloader"").style.display = ""none"";</script>")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...