det er da nemt, hvis jeg har forstået det rigtigt....:)
--side.asp <% Response.Buffer = True If Request.QueryString("tal") = "" Then nr = 1 Else nr = Request.QueryString("tal") + 1 End if Response.Write "<A HREF='side.asp?tal=" & nr & "'>klik her for næste nr</A>" Response.Write "<INPUT TYPE=TEXT VALUE='" & nr & "'>"
Nope - du har ikke forstået det helt rigtigt .. =)
Lad mig lige cut/paste det ud i pap ;)
Forstil dig du skal loope igennem 19000 records, af en eller anden årsag der er ligegyldig her.
Det tager et stykke tid - for at brugeren ikke skal tro den er gået ned, og smutter videre til en anden side (hvilket vil betyde fejl på serveren) - vil jeg indikere hvilken record den er kommet til ved at skrive det ud i et inputfelt.
<% Do while not RS.Eof [ ASP statements ... ] %> <SCRIPT LANGUAGE="javascript"> document.frmCount.fldCount.value + 1 </SCRIPT> <% RS.MoveNext Loop %>
Jeg tror ikke det kan lade sig gøre, da det bliver lavet på serveren og derefter bliver det sendt ud til browseren!!! ASP er jo noget der kører på serveren ikke ligesom javascript som browseren kør!!
Mukke -- det er vel mere eller mindre den teknik jeg skal bruge, men som Ulrik er inde på, så sker det på serveren, er der nogle måde hvormed man ka' undgå det? .. andre idéer?
<% Response.Buffer = True %> <HTML> <BODY> <FORM NAME="frmCount"> <INPUT TYPE="text" VALUE="0" NAME="fldCount"> </FORM> <% tal = 1 %> <% Do while not RS.Eof
[ ASP statements ... ] fldCount = fldCount + 1 tal = tal + 1
Response.Write tal & "<BR>" Response.Flush
RS.MoveNext Loop %>
</BODY> </HTML> -- Den udskriver løbende tallet (du kan ikke lave det i en tabel, vist noget med at den skal færdig renderes (fra server))
nu er jeg ikke den stor javascript haj men man kan vel lave en funktion der siger noget lign: hvis tallet er et produkt af 10 (i ti tabelen), man kan vel også lave det til hvergang men så skal den loade hele tiden (du vil vel bare have en slags status ???)
så: document.frames[enanden].href='fil.asp?tal=" & tal & "'; --betyder på dansk: indlæs fil.asp i anden frame, send tal med (?tal=" & tal & ")
funktionen skal være i stedet for response.Write tal
WebSharx: I det jeg lavede gør den netop det at efterhånden som den får sig arbejdet igennem sendes en lille smule til klienten - Dette er som et javascript hvormed opnås det ønskede.
Har du prøvet det?
Der kan være to problemmer: 1) hvis serveren cacher sit output vil den først sende det når scriptet alligevel er færdigt - det er der hvis ikek noget at gøre ved med mindre du kan snakke med en ansvarlig for serveren. 2) Som det er nu vil der bliver sendt nogle få bytes per post. Man kunne evt. rafinere det så den kun sender per ti poster gennemløbet for at mindske mængden af data der skal overføres.
Mange tak skal du have. Selvom jeg vel egentlig ikke fortjener dem hvis det ikke fungerer som ønsket.....
Med hensyn til response.buffer - Jeg har læst lidt og jeg tror egentlig ikke det vil hjælpe. Ifølge: http://msdn.microsoft.com/library/sdkdoc/iisref/vbob1fsi.htm Er =false stadard for iis op til og med version 4 - det er tilsyneladende først fra 5 det er nødvendigt. Men lad mig endelig vide om det aligevel skulle virke (Det er vel muligt at det fra severens side er sat til det andet som standard :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.