Just nu i M3-nätverket
Jump to content

problem med att skapa länkar vid läsning från data


estberg

Recommended Posts

<% Response.Write("<a href=\"\"" & rsP("url") & "class=\"portfolio\">" & rsP("url") & "</a>") %>

 

Skriver jag detta blir det fel. Jag vet inte hur jag ska ställa upp det. Meningen är att skriva ut och göra en länk.

 

/Staffan

 

Link to comment
Share on other sites

I "vanlig" vbscript använder du inte \" utan "" för att skriva ut ett citationstecken.

 

Det borde således istället vara såhär (otestat):

 

<% Response.Write("<a href=""" & rsP("url") & """ class=""portfolio"">" & rsP("url") & "</a>") %>

 

Ciao,

Anders

 

 

[inlägget ändrat 2003-04-22 00:50:18 av Anders N]

Link to comment
Share on other sites

Men varför skriva allt inom <% %>? Du kan ju lika gärna skriva såhär:

[color="#006400"]<a href=[/color][color="#0000ff"]"[/color]<%=rsP([color="#006400"]"url"[/color]) %>[color="#0000ff"]"[/color] [color="#006400"]class=[/color][color="#0000ff"]"portfolio"[/color][color="#006400"]>[/color]<%=rsP([color="#006400"]"url"[/color]) %>[color="#006400"]</a>[/color]

Enklare att läsa, och det tar inte längre tid att bearbeta för IIS heller.

 

[inlägget ändrat 2003-04-22 02:07:10 av Poohbear]

Link to comment
Share on other sites

Null or not an object

Jo, det tar längre tid för IIS att bearbeta flera <%%>. Magnus Gladh, rätta mig om jag har fel.

 

Link to comment
Share on other sites

I ett generellt fall kan det ta längre tid.

Med en IIS version =>5 har man arbetat hårt med att dylikt inte skall inträffa, och det finns massor med tester som visar att det ofta kan löna sig att dela upp dina uttryck - eftersom olika kommandon tar olika mycket kraft att göra.

I det specifika fallet var ursprungskoden ganska krävande (för valfritt värde på krävande, allting är relativt), du har ett Response.Write-uttryck där du genomför 4 strängsammansättningar. Mitt exempel motsvaras av 2st Response.Write. Om du skulle testköra det specifika exemplet med sådär en miljard rader så skulle du upptäcka att den stora flaskhalsen fortfarande ligger i databaskommunikationen - och det senare exemplet skulle troligen vara någon promille snabbare än det första, då IIS bättre kan använda sin cache på det.

Leta exakta siffror m.m. lägger jag inte ner energi på nu, men läs gärna mer i Professional ASP 3.0 (Wrox).

 

Link to comment
Share on other sites

Magnus Gladh

Jag håller med Poohbear. Visst rent teoretiskt så tar <% %> längre tid (i allafall i gamla IIS) men skillnaden är så marginel så man kan nog lägga krut på att fixa andra prestanda missar.

 

Själv skriver jag alltid response.write eftersom jag tycker jag får en mer överskådlig kod och slipper en massa <%%> i min HTML-kod.

 

Man skall särskilja sin ASP-kod och HTML-kod så mycket man kan. Alltså det bästa man kan göra är att lägga all ASP-kod i små funktioner/subar och sedan från sin HTML-kod endast kalla på funktionen/suben som gör det man vill, i dessa funktioner/subar skall endast ASP-kod finnas, alltså använder man response.write. Vill man gå ett steg längre så tar man bort alla response.write i dessa funktioner/subar och returnerare en sträng med all HTML-kod som sedan skrivs på sidan därifrån man kallar på suben.

 

Då kan man enkelt flytta över sin ASP-kod till komponenter utan att behöva tänka på att få med ASP-contexten till komponenten.

 

- Magnus

-----------------------------------------------------

Jag är inte kaxig, jag är bara så jävla bäst...

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...