Avatar billede karsten_larsen Praktikant
27. september 2004 - 09:35 Der er 9 kommentarer og
1 løsning

Vis anden side indtil alle beregninger er foretaget

Er det muligt at vise en anden side indtil ens beregninger er færdige?

Er det noget á la dette

IF beregning foregår = true then
response.write "beregning foregår"
  ' plus et gif billed
else
' vis siden
end if

:-) karsten_larsen
Avatar billede fennec Nybegynder
27. september 2004 - 09:36 #1
så skal du lade beregninger foregå i en anden frame eller Iframe.
Avatar billede karsten_larsen Praktikant
27. september 2004 - 09:47 #2
Er det noget med sådan så

If beregning = false
%>
<script>
function updateResult(){
document.iframe_visning.location.href='beregning_foregaar.htm';
}
</script>
<%
end if


' beregning forgaar her
' beregning er faerdig
beregning = true
%>
<script>
function updateResult(){
document.iframe_visning.location.href='beregning.asp';
}
</script>

Så kalder den bare en anden side end den som beregner.

?:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
27. september 2004 - 09:48 #3
Kan det ikke lade sige gør i den samme asp fil?
Avatar billede fennec Nybegynder
27. september 2004 - 10:13 #4
Nej.
ASP beregninger foregår på serveren, og først nå det er færdig, bliver siden oversat til HTML og sendt til klienten (browseren). Nu ved jeg ikke hvordan din side skal fungere, men jeg har lavet et lille eks, som jeg håber du kan se princippet i. Her sender jeg formdata til Iframen og giver info til brugeren gennem en DIV.

<form target="MinIframe" action="beregnSide.ASP" onSubmit="document.getElementById('InfoDiv').innerHTML = 'Beregninger foregår'">
...
...
  <input type="submit" value="send">
</form>
<div id="InfoDiv"></div>
<Iframe name="MinIframe"></Iframe>

beregnSide.ASP:
<%
'Noget ASP kode til beregning....
for f=0 to 10000000
  temp = f
next
%>
<script>
//Skriv ny besked i DIV'en.
parent.document.getElementById('InfoDiv').innerHTML = 'Beregninger er færdige'
</script>
Avatar billede eagleeye Praktikant
27. september 2004 - 10:19 #5
jeg har lavet noget engang med det div tag på samme side:

<% response.buffer=true %>

<div id="statustxt">Beregning forgår</div>
<%
Response.Flush

'Koden som beregner
%>
<script>
document.getElementById("statustxt").innerHTML = "Beregning afsluttet";
</script>
<%
Response.Flush
%>
Avatar billede fennec Nybegynder
27. september 2004 - 10:28 #6
eagleeye >>
Jeg var ikke klar over at man kunne sende info til klienten inden alt ASP var afviklet. Det skal jeg da lige have afprøvet, for det gør det betydlig nemmere :o)
Avatar billede karsten_larsen Praktikant
27. september 2004 - 10:31 #7
eagleeye -> det var en hel del nemmere - pointene går til dig. Vil du lave et svar.

fennec -> tak for hjælpen

:-) karsten_larsen
Avatar billede eagleeye Praktikant
27. september 2004 - 10:32 #8
Det kan man ved at sætte response.buffer=true i toppen af side og kalde respobse.flush
Avatar billede eagleeye Praktikant
27. september 2004 - 10:32 #9
ok :)
Avatar billede fennec Nybegynder
27. september 2004 - 10:33 #10
Så har jeg også lært noget i dag :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester