ta bort <% %>

ASP

21 svar · 370 visningar · startad av room

Medlem sedan mars 2001270 inlägg
Trådstart#1

Ett tips är för renare läsning av koden, ta bort onödiga <% och %>, du behöver inte ha dom på varje rad.

Servern måste starta asp kompilering för varje <%

....

Medlem sedan okt. 20001 558 inlägg
#2

Har varit uppe hur många ggr som helst...

Medlem sedan juni 200032 967 inlägg
#3

jag tror faktiskt att room råkade klicka starta nytt ämne istället för skriv inlägg, för detta inlägg passar mycket väl in på en annan tråd precis i närheten... :)

Medlem sedan okt. 20001 558 inlägg
#4

Ooops, sorry då :r

Medlem sedan mars 200168 inlägg
#5

Hmm, för oss nybörjare var det bra o veta att för många <%%> segar ner :e

Medlem sedan juni 200032 967 inlägg
#6

dessutom blir det ju alldeles fantastiskt mer svårläst och massor med fler tangenttryckningar.

man ska inte göra det jobbigare än det är...

Medlem sedan mars 200168 inlägg
#7

Där slog du spiken i huvudet!

Medlem sedan juni 200032 967 inlägg
#8

japp, sån är jag! :)

Medlem sedan mars 2001270 inlägg
#9

NI har så rätt så rätt. Inlägget var menat till Sensei som svar på Loop nånting ;))..

Medlem sedan mars 200139 inlägg
#10

Men nu snälla herrar Och (finns det ngon dam här) hur fixar man följande exempel utan <% %> ?
<% if val Then %>
<input type="checkbox" name="<% =n %>" checked>
<% Else %>
<input type="checkbox" name="<% =n %>">
<% End If %>
/
/HMMM?

Medlem sedan sep. 2000667 inlägg
#11

Kanske nåt i denna stilen?

<%
if val Then
response.write "<input type='checkbox' name=' % =n % ' checked>"
Else
response.write "<input type='checkbox' name=' % =n % '>"
End If
%>

Obs! Har nu inte så bra koll på fnuttar...

Medlem sedan juni 200032 967 inlägg
#12

du kan ju inte fixa det helt utan, men med en start och en slut. jag räknar till 8 onödiga start- eller slutmarkeringar.

<% if val Then 
response.write "<input type=""checkbox"" name=""" & n & """ checked>"
Else
response.write "<input type=""checkbox"" name=""" & n & """>"
End If %>
Medlem sedan dec. 19998 577 inlägg
#13

Testa detta:

<%
if val Then
Response.write "<input type=""checkbox"" name="""&n&""" checked>"
Else
Response.write "<input type=""checkbox"" name="""&n&""">"
End If
%>
Medlem sedan dec. 19998 577 inlägg
#14

Sluta upp med dessa dubbelpostningarna @nders... ;)

Medlem sedan sep. 2000667 inlägg
#15

Det funkar lika bra med ' som ""?

Medlem sedan juni 200032 967 inlägg
#16

jo, det funkar lika bra med apostrof, som tecknet heter, och dubbla citationstecken (som de heter ;) ).

jag är allergisk mot användandet av apostrofer i html-kod, men jag medger att det är lättare att läsa då man skapar html med asp.

@e: jag var först! :e

mvh,

Medlem sedan mars 200139 inlägg
#17

Roland tackar för tre intressanta lösningar som jag skall testa och kolla vidare på. Gott att få bra tips som ju även snyggar upp asp-koden med. Hoppas på mer 'snack' om bra effektivare kod så man får håller ständig koll på tips här.

Medlem sedan feb. 20001 590 inlägg
#18

rent praktiskt så är det inte antalet <% %> som är krävande (om man nu kan använda den termen) allt som är inom dessa tecken tolkas av scriptmotorn i asp.dll modulen. Det andra skickas direkt ut till HTTP strömmen (beroende på responsebufferten) Så om det är 5 rader med <% %> eller 50 spelar ingen större roll. Det som spelar roll är contextswitchningen dvs. Om man blandar <% %> med HTML. Då måste scriptmodulen tolka små bitar av kod, och skicka detta, tillsammans med små bitar av HTML. Det kan vara tidsödande.

Idealet är enbart ASP script, då arbetar scriptmotorn för fullt, förutom avbrott till ex. serverobjekt. I dessa fall arbetar scriptmotorn för fullt (vissa kallar det för krävande, jämfört med att bara sända HTML) men då får man ut max processortid per timeslice.

/T

Medlem sedan mars 200116 inlägg
#19

Jag har börjat att Response.Write:a all min HTML kod.

Först så gör jag en include fil, som ser ut typ så här:

Include.ASP

<%
Sub pageHeader
Response.Write String(0,9) & "<HTML>" & vbCrLf
Response.Write String(1,9) & "<HEAD>" & vbCrLf
....
Response.Write String(1,9) & "<BODY> & vbCrLf
End Sub

Sub pageFooter
Response.Write String(1,9) & "</BODY>" & vbCrLf
Response.Write String(0,9) & "</HTML>" & vbCrLf
End Sub
%>

Sen includerar man bara Include.ASP i sina sidor:
Default.ASP

<!-- #INCLUDE FILE="Include.ASP" -->
<%
Call pageHeader
 ... resten av ASP koden.. 
Call pageFooter
%>

.. Så har man hela sin sida Response.Write:ad.
String() och vbCrLf är bara för att få en överskådlig HTML kod, så de kan man skita i om man inte bryr sig om den.

Medlem sedan feb. 20001 590 inlägg
#20

Om det är prestanda du är ute efter, så varför inte bara
Response.Write "<HTML><HEAD>"&thetitle&"</HEAD><BODY>"
osv.

spelar väl ingen roll om det blir radbrytningar i HTML koden eller inte?

/T

257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)