Hello, "Xonno"
> Есть форма для отображения отчета, отчет формируется долго, минуты три,
> соответственно в это время нужно пользователю показать, что процесс работает
> данные ожидаются, к примеру, на некоторых сайтах форма с центральной
> надписью "Loading -- Please Wait"
> Кто как реализовывает подобное в ASP.NET ?
Если отчет формируется три минуты, то это уже плохо...
Можно формироать его в фоновом процессе, а клиента держать на переодически перезакгужаемой странице с написью
Loading -- Please WaitPosted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, 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 >>