Показать полную графическую версию : Как сделать паузу в серверном скрипте ASP
Sanchez-of-Tula
18-11-2009, 16:53
Собственно, вопрос в сабже. Необходимо выдать страницу asp не сразу, а с определенной паузой. Варианты с пустым циклом естественно не подходят. Функции Sleep в VBS нет... Подскажите, куда можно подвигаться дальше?
Delirium
19-11-2009, 01:56
ASP или ASP.NET?
в ASP.NET я делал такой финт ушами (взято из MSDN)
код вставляется в PageLoad нужной строницы:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<div align='center' id='mydiv' style='visibility:visible;display:none;width:200px;font-size:8pt;vertical-align:bottom;border:solid 1px maroon;'>");
Response.Write("Подождите...<br /><img src='Images/loading.gif' />");
Response.Write("</div>");
Response.Write("<script language=javascript>;");
Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
Response.Write("{var output; output = '.';dots++;if(dots>=dotmax)dots=1;");
Response.Write("for(var x = 0;x < dots;x++){output += '.';};}");
Response.Write("function StartShowWait(){mydiv.style.display = 'block';mydiv.style.visibility = 'visible'; window.setInterval('ShowWait()',100);}");
Response.Write("function HideWait(){mydiv.style.display = 'none';mydiv.style.visibility = 'hidden';window.clearInterval();}");
Response.Write("StartShowWait();</script>");
Response.Flush();
Thread.Sleep(1000);
}
В итоге при открытии страницы вверху слева идет бегунок (loading.gif в примере), и выше надпись "Подождите" в течение 1 секунды ( Thread.Sleep(1000); ).
Теоретически, вам достаточно строки Thread.Sleep(1000) в PageLoad для задания нужной паузы.
Для ASP здесь (http://www.relib.com/forums/Topic897780-4-1.aspx#bm915255) (там же ссылка на статью)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.