Sitter och ska göra om layouten på min sida och tänkte nu i samband med detta kontrollera vad som nu faktiskt är det bästa att göra. <%="hej"%> elller Response.Write "hej" är samma sak så det spelar ingen roll. Det här är en sak som har diskuterats fram och tillbaka. man lär sig det här med fnuttarna om man kommer på en bra teknik för det... Jag läste för en tid sedan en artikel som just handlade om att optimera sin kod för bättre serverprestanda och kort och gott handlade det om att alla kodgenvägar innebär en prestandaförsämring, typ... <%=%> istället för Response.Write tex.Vilket är bäst <% eller write?
Mina tankar är att det ska vara
1 Snabbt
2 Server vänligt
Eftersom det är mycket databas material som visas så dyker det upp många <%= xxx%> i min nuvarande htmlkod.
Om jag förstått det rätt så skapar det anträngningar på server och därmed läsning.
men om hela sidan blir VB med endast en <% i början och i slutet, och sedan använder response.write för html koden.. tjänar jag eller förlorar jag?
Det kan ju bli en hel del "response.write" kommandon som i sin tur ger storleksmässigt stora sidor..
Är det fördel ur säkerhetssynpunkter också att välja response.write ?Sv: Vilket är bäst <% eller write?
Däremot bör du ha så lite kod-block som möjligt eftersom varje gång ett kodblock kommer så körs asp-motorn. Ju färre desto snabbare sida.
Nu är det så att det är inte säkert det går snabbare att bygga all html i ett aspblock och visa det eftersom asp inte är snabbast i världen på att konkatinera strängar så jag tror nästan att du inte kommer kunna märka någon skillnad på prestanda.
Det är först när vi snackar om ett stort antal samtidiga användare på samma sida som man kan börja tänka på att försöka optimera.
Sist men inte minst är det användarens internetkapacitet som gäller - en med 56k modem som laddar ner en 56k sida tar trots allt sina sekunder.Sv: Vilket är bäst <% eller write?
Enligt herrarna på 4gaysfromrola(tror jag det heter) så tar det lika lång tid att skriva
<%
som att skriva
response.write.
Därimott så om man kunde skriva det som en hel sträng, eller så lång som möjligt, incl html-taggarna, då kan man vinna avsevärt.
<code>
response.write "</td></tr></table>"&_
"<table border='1' cellspacing=0 cellpading=0 width='70%'><TR>"&_
"<TD BGCOLOR=#FBE2D3 width='10%'>"&_
"<B>Namn:</B></TD>"&_
"<TD BGCOLOR=#FBE2D3 width='30%'><B><FONT COLOR =Black>"&_
query("Namn") & " </B></FONT></TD>"&_
'osv
</code>
Detta förfarande är ganska så arbetsamt att skriva på (tänka på alla fnuttar) men en oehörd prestandavinst.Sv: Vilket är bäst <% eller write?
Jag skriver mina strängar ungefär såhär:
<code>
1) ""
2) "<html><head><title>"
3) "<html><head><title>" & & ""
4) "<html><head><title>" & min_variabel & ""
5) "<html><head><title>" & min_variabel & "</title></head>"
6) "<html><head><title>" & min_variabel & "</title></head><body>"
7) "<html><head><title>" & min_variabel & "</title></head><body bgcolor="""">"
8) "<html><head><title>" & min_variabel & "</title></head><body bgcolor=""#FFFFFF"">"
</code>
Anledningen till att jag skriver "" på en gång är att då vet jag att det är gjort och slipper komma ihåg sådant sedan...Sv: Vilket är bäst <% eller write?
Man skulle kunna säga att den extra tid det tar att skriva ut syntaxen som den är i klartext den tiden vinner man tillbaka i prestandan på servern.
Sedan kommer ju alltid det där med att skriva smart och optimal kod på andra sätt också. Man får väl ta med sig bit för bit och försöka skriva bättre och bättre med tiden.