Длительное время загрузки формы
От: Xonno  
Дата: 16.07.04 01:54
Оценка:
Есть форма для отображения отчета, отчет формируется долго, минуты три,
соответственно в это время нужно пользователю показать, что процесс работает
данные ожидаются, к примеру, на некоторых сайтах форма с центральной
надписью "Loading -- Please Wait"
Кто как реализовывает подобное в ASP.NET ?
Re: Длительное время загрузки формы
От: TK Лес кывт.рф
Дата: 16.07.04 08:02
Оценка:
Hello, "Xonno"
> Есть форма для отображения отчета, отчет формируется долго, минуты три,
> соответственно в это время нужно пользователю показать, что процесс работает
> данные ожидаются, к примеру, на некоторых сайтах форма с центральной
> надписью "Loading -- Please Wait"
> Кто как реализовывает подобное в ASP.NET ?

Если отчет формируется три минуты, то это уже плохо...
Можно формироать его в фоновом процессе, а клиента держать на переодически перезакгужаемой странице с написью Loading -- Please Wait
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Длительное время загрузки формы
От: mogadanez Чехия  
Дата: 16.07.04 08:23
Оценка:
Здравствуйте, Xonno, Вы писали:

X>Есть форма для отображения отчета, отчет формируется долго, минуты три,

X>соответственно в это время нужно пользователю показать, что процесс работает
X>данные ожидаются, к примеру, на некоторых сайтах форма с центральной
X>надписью "Loading -- Please Wait"
X>Кто как реализовывает подобное в ASP.NET ?

Для этого весьма подходит использование Iframe его свойства readyState и чуть чуть Jscripta.


пример из жизни ( правда к ASP.NET имеет мало отношения был сделан изначально на ASP).
есть страница Report.aspx, в нее во фрейме грузится страница с реальным отчетом.

<html>
<head>
<script>

     function ShowWaiting()
            {
                frmReport.document.body.style.display="none"; // убираем старое содержимое отчета.
                divWaiting.style.display="block"; 
            }

  function HideWaiting(state)
            {
                if(state=="complete")
                {
                                    //прячем 
                  divWaiting.style.display="none";
                }
                                else
                                {
                                  ShowWaiting();
                                }
                
            }
</script>
</head>
<body >
...тут могут идти какие то управляющие элементы, которые в общем то не обязательно перегружать с отчетом.
<iframe onreadystatechange=HideWaiting(this.readyState) id=frmReport width=100% height=100% frameborder=0 scrolling=yes></iframe>
<div id="divWaiting" style='display:none; LEFT: expression( parseInt( document.body.clientWidth-200)/2); WIDTH: 200px; POSITION: absolute; TOP: expression( parseInt( document.body.clientHeight-60)/2); HEIGHT: 60px'>
   некий блок html'a c  просьбой ждать.
</div>
</body>
</html>
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.