Avatar billede bernhof Nybegynder
09. marts 2004 - 22:36 Der er 6 kommentarer og
2 løsninger

Response: Redirect efter Flush

Hey!

Jeg er stødt ind i et lille problem.
Jeg benytter Response.Buffer = True øverst på min side, for at jeg længere nede kan udføre Response.Flush for at vise siden, mens mit script arbejder på livet løs.

Mit er problem er følgende: Når mit script er færdigt, ville jeg meget gerne sende brugeren videre til en "Udført"-side, men det viser sig, at jeg ikke kan udføre Response.Redirect, efter jeg har udført Response.Flush.

Hvad skal jeg gøre for at kunne bruge Redirect efter Flush?
Avatar billede thesurfer Nybegynder
09. marts 2004 - 23:27 #1
Flush og Redirect er, på en måde, modsætninger..
Flush:
Sender den nuværende buffer til klienten.

Redirect:
Sender brugeren videre til den angivede side, lige meget hvad der står efter det.

Hvis du vil sende brugeren videre, efter at have udført noget ASP kode, kan du:
1)
- Bruge response.buffer = false
- skrive al HTML koden først
- skrive ASP koden, der skal "arbejde på livet løs"
- skrive redirect koden

2)
- blande HTML og ASP kode
- bruge JavaScript til at sende brugeren videre:

<script type="text/JavaScript">
location.href='side2.asp';
</script>
Avatar billede bernhof Nybegynder
09. marts 2004 - 23:47 #2
Jeg kan ikke få dit første forslag til at virke. Hvis Response.Redirect ligger _efter_ HTML koden, virker den ikke uden Response.Buffer = True.

Dit andet forslag virker fint, men jeg ser det som en sidste udvej.
Avatar billede thesurfer Nybegynder
09. marts 2004 - 23:59 #3
Så lægger jeg et svar?
-- Det kan naturligvis afvises, med begrundelse.
Avatar billede thesurfer Nybegynder
10. marts 2004 - 00:42 #4
Det betyder naturligvis ikke, at du skal acceptere det med det samme..
Det er bare så du har et svar fra mig, hvis der ikke skulle komme bedre løsninger..
Så behøver du ikke at vente på mig.

-- Jeg ville have skrevet denne kommentar tidligere, men fik beskeden:
"Eksperten er under vedligeholdelse, hvorfor logind ikke er muligt."
Avatar billede bernhof Nybegynder
10. marts 2004 - 12:01 #5
Jeg vil gerne give dig point for dit Javascript forslag, men jeg vil lige vente lidt, da jeg godt kunne tænke mig at høre, om du eller andre har andre forslag til løsning af mit problem.
Avatar billede the_bma_man Nybegynder
01. april 2004 - 08:22 #6
Du kan ganske enkelt ikke bruge en redirect, efter der er sendt andre html-headere til browseren.
Så hvis du bruger buffer=true og flush metoden, så kan du redirecte _indtil_ du har lavet din første flush. Herefter er dette ikke længere en mulighed.
Lidt trælst, men sådan er det.
Avatar billede bernhof Nybegynder
01. april 2004 - 22:03 #7
Ok, så siger jeg tak for hjælpen til jer begge to.
Avatar billede the_bma_man Nybegynder
02. april 2004 - 13:05 #8
Jamen, velbekomme - og thnx 4 points.
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