webForumDet fria alternativet

Tips kring många response.write

2 svar · 301 visningar · startad av Lukaspojken

LukaspojkenMedlem sedan maj 20011 312 inlägg
#1

Det tar ju mycket prestanda att anropa response.write metoden. Men att använda sig av response.write istället för att skriva html-kod kan öka prestandan. Det man kan förlora där är strukturen men jag tror jag kom på ett sätt att få en bättre struktur samt att använda sig av en response.write.

Tabell = "<TABLE width=158 bgcolor=#" & color & " border=0 cellPadding=0 cellSpacing=0><TR><TD>"
Tabell = Tabell & Text
Tabell = Tabell & "</TR><TD></TABLE>"

Response.write Tabell

Vad tror ni om det sättet? Skulle man kunna göra det bättre?

så att det blir mycket contentswitchar så kan man göra så här utan att ta

------------------
Alltid lär man sig något nytt varje dag...

PatrikBMedlem sedan mars 20002 836 inlägg
#2

Ja, vad ska man säga.

denna variant är INTE snabbare än en Response.Write istället som "trycker" ut den biten kod OM den ligger i en LOOP.

Ibland så "måste" man kanske bygga upp en variabel med en massa info i MEN det man ska ha i åtanke är att den BÖR INTE ligga i en loop som kan gå hur många varv som helst för då vår man detta felmeddelande:

Körningsfel i Microsoft VBScript fel '800a001c' 

Slut på stackutrymme.: 'getData'

Testa och kör denna kod så får du se "hur" många varv den går på din maskin:

<%
Dim varData
Dim intRow

Call getData

Sub getData
	Dim m_varData
	intRow = intRow + 1
	varData = varData & "Detta ska alltså vara en massa data som ska byggas till en och samma variabel för att se hur länge som det går att bygga till denna variabel."
	Response.Write intRow & "<BR>"
	Call getData
End Sub
%>

cya,
PatrikB

------------------
*så kan det gå när inte haspen är på*

[Redigerat av PatrikB den 05 aug 2001]

PaceMedlem sedan juni 20019 024 inlägg
#3

Nu har du nog fått saker och ting om bakfoten.

response.write istället för att skriva html-kod kan öka prestandan

Nej, verkligen inte! Html är såklart snabbast! Däremot är response.write snabbare på följande parti:

If abc = 34 Then
 Response.Write "Hej på dig!"
End If

... istället för att göra på detta sättet:

If abc = 34 Then
%>
Hej på dig!
<%
End If

Och ska man göra en loop så är det Response.Write som gäller och inte att lägga det i en variabel!

------------------
Peter D

[r] Attans PatrikB hann före! ;)

[Redigerat av Pace den 05 aug 2001]

271 ms totalt · 3 externa anrop · v20260731065814-full.102f7fcd
135 ms — hämta forumlista (db)
134 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)