Just nu i M3-nätverket
Gå till innehåll

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


estberg

Rekommendera Poster

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

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

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.

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...