webForumDet fria alternativet

ta bort <% %>

ASP

21 svar · 308 visningar · startad av room

Medlem sedan mars 2001270 inlägg
Frågan#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 <%

....

------------------
// room

Medlem sedan okt. 20001 558 inlägg
#2

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

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

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... :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan okt. 20001 558 inlägg
#4

Ooops, sorry då :r

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

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

------------------
.:' Jolt ':.

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...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan mars 200168 inlägg
#7

Där slog du spiken i huvudet!

------------------
.:' Jolt ':.

Medlem sedan juni 200032 967 inlägg
#8

japp, sån är jag! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

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 ;))..

------------------
// room

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?

------------------
Tänkte inte på de'

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...

------------------
Skriv ut den med response.write så ser du vad som är fel.

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 %>

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
someone set us up the bomb!</A>

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
%>

------------------
webEye.nu SweQuake.com

Medlem sedan dec. 19998 577 inlägg
#14

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

------------------
webEye.nu SweQuake.com

Medlem sedan sep. 2000667 inlägg
#15

Det funkar lika bra med ' som ""?

------------------
Skriv ut den med response.write så ser du vad som är fel.

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,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
someone set us up the bomb!</A>

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.

------------------
Tänkte inte på de'

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

------------------
"Den som väntar på någon som gått behöver inte vänta längre..."

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

------------------
"Den som väntar på någon som gått behöver inte vänta längre..."

270 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)