Exakt vad gör denna rad?
<% response.buffer = true %>
Tack p f-hand
------------------
Qwerty
Den som provar han testar...
20 svar · 453 visningar · startad av qwerty
Exakt vad gör denna rad?
<% response.buffer = true %>
Tack p f-hand
------------------
Qwerty
Den som provar han testar...
Den säger till att hela sidan skall processas innan någon information skickas till webläsaren.
------------------
"Life's a bitch who sucks... then you marry one who doesn't"
Det gör att allt innehåll som skrivs ut till till response-objektet buffras, och skickas till klienten för när körningen kommit till slutet på sidan, eller om metoden response.flush körs.
Med response.buffer=false skrivs innehållet ut allt eftersom.
...och om jag inte har denna raden överhuvud taget? Skulle det kunna orsaka att sidan aldrig laddas in, utan bara står och "tuggar"?
------------------
Qwerty
Den som provar han testar...
Nä, då är det fel på din kod (om den inte är gjord så att den skall stå och tugga... :))
I ASP 2.0 så är buffer default satt på false och i ASP 3.0 så är den default satt på true...
------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide
Men ifall jag vill skriva ut en av mina c:a 600 rader med en response.write så måste jag ju ha den satt till "True". Men då måste ju hela sidan laddas innan den visas, kan man inte undgå detta?
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
Nu hängde jag inte med. Är inte response.buffer=false det du vill ha?
Nja, för jag måste ju ha Response.Buffer = "True" högst upp för att kunna använda Response.Write i koden, eller? Men ifall min Response.Write ligger på rad 20 av 600 så tyckte jag att den kanske var onödigt att den var tvungen att ladda hela sidan innan den visades? Eller är det jag som har fått hjärnsläpp?
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
du har nog fått lite släpp... ;)
användandet av response.write går lika bra oberoende av om buffer är true eller false. däremot är det vissa av response-objektets metoder man inte kan använda sig av om buffer=false, exempelvis end och flush. response.redirect får dock användas, under förutsättning att ingenting ännu skrivits till klientens webbläsare.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Rossifumi: Då kan du använda dig av Response.Flush.
Med det säger man till servern att skriva ut allt som har bearbetas fram till att Response.Flush
Är inte allt för bra på att förklara saker och ting men jag försöker mej på ett exempel :)
Låt säga att vi har gjort ett litet webbgränssnitt för att kolla sin mailbox. Vi har 600(!?) mail i inboxen.
Beroende på kodningen kanske det tar ett litet tag att lista alla 600 mail på sidan. Så istället för att bara visa en vit sida som laddas i 10 sekunder kan man skriva ut att det finns 600 mail i inboxen och sedan ladda vidare på sidan, då kanske det går upp ett litet ljus för användaren "Aha, 600 mail...det kanske tar ett par sekunder att ladda" eller liknande :)
Man börjar sidan med
Response.Buffer = True
Sedan skriver man ut antalet mail i inboxen:
response.write intAntalMail
För att sedan få det att visas på sidan direkt använder vi Flush...
Response.Flush
Sedan fortsätter vi med att skriva ut rubriken på alla mail i inboxen men det skrivs inte ut förens hela sidan är laddad
For i = 1 To intAntalMail
response.write Rubrik
Next
------------------
/JE
Aha... jag måste dock ha värdet till true, annars får jag HTTP Headern har... hela tiden. Beror nog på mina cookies :) Tack för svaren
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
Kuriosa: Varför vill du skriva något till klienten och sedan redirecta denna... personen kommer ju ändå inte se meddelandet!?
------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide
Frågar du mig? Jag har inte kört någon redirect...
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
... och då finns det väl ingen anledning att köra Response.buffer = true... ;)
------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide
Jo, annars klagar den när jag sätter cookien :q
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
vilket är helt rätt, eftersom för att sätta en cookie måste du modifiera http-headern, och det får du inte göra om du inte buffrar. :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
*Oj, ett hörn... där ställer jag mig* :e
------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide
Ha ;)
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
[Redigerat av Rossifumi den 30 jan 2001]
...???
Trodde verkligen att en viss person kunde allt. Men även den bäste kan välta en blind tuva ibland.
------------------
Qwerty
Den som provar han testar...
Det finns en annan fördel med response.buffer=true och det är att det går snabbare att skriva ut sidan. Kolla på http://www.learnasp.com/learn