09. marts 2004 - 22:36Der 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?
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:
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."
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.
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.
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.