Jag har lagt en label (lbWait) på formuläret, längd 600px visible=false. Nej,för att klienten har ingen kontakt med servern utan väntar bara på svar.Så klienten vet inte hur låntid det kommer ta Det där går faktiskt, gjorde själv en sån vid filuppladdning. Man kan använda en iframe där den sidan skickar javascript till att uppdatera den andra löpandes.. Det jag funderade på var om man kunde, med javascript öppna ett nytt fönster, och där köra Nu har jag inte koden tillgänglig, och det finns säkert exempel på nätet men tänkte förklara principen. Jo.sett något liknande med.men hur vet javascriptet om hur lång tid det tar innan servern är klar?Visa en "progressbar" vid en lång körning.
När jag nu kör en query, som tar en stund, så ville jag visa lbWait, och göra den större hela tiden,
allteftesom queryn fortskrider.
<code>
int rader = ds.Tables["epost"].Rows.Count;
int totalLength = 600;
int newLength = totalLength / rader;
lbWait.Width = 0;
lbWait.Visible = true;
for (int a = 0; a < rader; a++)
{
'en del kod här
newLength++;
lbWait.Width = newLength;
</code>
Problemet är, det händer ingenting. Under tiden som querym körs, står allt annat stilla, går det göra
så här???Sv: Visa en "progressbar" vid en lång körning.
Sv:Visa en "progressbar" vid en lång körning.
Sv: Visa en "progressbar" vid en lång körning.
med de uppgifter som man skickar in. Sv:Visa en "progressbar" vid en lång körning.
Som du vet kan man nå en div-tagg eller en image med dess id via javascript GetElementById. Genom att använda detta kan du även få tag på dess properties, exempelvis längd. Så med asp kan du i loopen skicka ut javascript som sådeles ökar längden på gif-bilden.
Så en asp-sida med en iframe. När programmet körs är finns gif-bilden på asp-sidan, men for-satsen körs av aspsidan i iframen. Den kallar på
sida default.asp
<code>
<html>
<img src="gauge.gif" width=1 id= bildnamn>
<iframe scr="runner.asp">
</html>
</code>
Sida runner.asp
<code>
for a = 1 to 100
response.write "<script>parent.document.getelementbyid('bildnamn').width=" & a & ";</script>"
response.flush
next
</code>
Nåt i den stilen, hoppas du är med på tänket..Sv: Visa en "progressbar" vid en lång körning.
Då måste man ju veta hur mycket data man skall ta imot.då man skall skick går det ju bättre för det kommer ju från klienten.
För att få fram det som en progess måste man ju ta förväntad data/motagen för att visa återstånde data i en progressbar