Avatar billede jenskf Nybegynder
04. august 2001 - 21:27 Der er 8 kommentarer og
2 løsninger

Optimering af simpel ASP-script

Hvordan optimeres nedenstående, så det ikke kommer til at køre langsomt, hvis jeg f.eks. udvider det med mange flere punkter og underpunkter:

På forhånd tak for hjælpen

MVH
Jens

<%
\'FINDER DEN VALGTE SEKTION
theURL = LCase(Request.ServerVariables(\"Query_String\"))

check = InStr(1, theURL, \"forside/\")
If check => \"1\" Then Selectedmenu = (\"1\")
check = InStr(1, theURL, \"multimedia/\")
If check => \"1\" Then Selectedmenu = (\"2\")
check = InStr(1, theURL, \"nyhedsbrev/\")
If check => \"1\" Then Selectedmenu = (\"3\")
check = InStr(1, theURL, \"kontakt_os/\")
If check => \"1\" Then Selectedmenu = (\"4\")

%>
Avatar billede avlund Nybegynder
04. august 2001 - 21:34 #1
Kan man evt. ikke skrive...

<%

theURL = LCase(Request.ServerVariables(\"Query_String\"))

If InStr(1, theURL, \"forside/\") <> 0 Then
Selectedmenu = (\"1\")
Elseif InStr(1, theURL, \"multimedia/\") <> 0 Then
Selectedmenu = (\"2\")
Elseif InStr(1, theURL, \"nyhedsbrev/\") <> 0 Then
Selectedmenu = (\"3\")
Elseif InStr(1, theURL, \"kontakt_os/\") <> 0 Then
Selectedmenu = (\"4\")
End If

%>
Avatar billede jenskf Nybegynder
04. august 2001 - 21:41 #2
Det ser godt ud :-)

Jeg har lige et sprørgsmål til: Hvorfor returer følgende sætning ikke noget. Ligger fejlen i \"Query_String\", som måske kun kan bruges i en errors.asp?

theURL = LCase(Request.ServerVariables(\"Query_String\"))
Avatar billede jenskf Nybegynder
04. august 2001 - 21:45 #3
Jeg mener selvfølgelig \"returnerer\" i stedet for \"returer\" ;)
Avatar billede avlund Nybegynder
04. august 2001 - 21:52 #4
Havde slet ikke kigget på den sætning før nu...

Jeg har ikke så meget erfaring med servervariabler. Er du sikker på at du har brug for den?

Lad mig lige se den forbindelse den er brugt i...
Avatar billede tmceu Praktikant
05. august 2001 - 02:44 #5
Server variablen Query_String er det der står efter ? i adressen, eks. http://www.side.dk?variabel=something

Dvs. at den vil returnere ingenting, hvis der eks. kun står http://www.side.dk
Avatar billede jenskf Nybegynder
06. august 2001 - 14:10 #6
>Dvs. at den vil returnere ingenting, hvis der eks. kun.

UPS - det skal den ikke. Den skal nemlig kunne opfange f.eks. http://www.side.dk/nyhedsbrev/index.asp

Hvis den besøgende befinder sig på \"nyhedsbrev\", skal det tilsvarende menupunkt oplyses. Med andre ord hvad skal der stå i stedet for (\"Query_String\") i følgende:

theURL = LCase(Request.ServerVariables(\"Query_String\"))
Avatar billede avlund Nybegynder
06. august 2001 - 14:35 #7
Hmm, hvad er det præcist du vil?

Hvis du skal hive fat i noget i selve QueryStringen, er det naturligvis Request.QueryString du skal bruge.

Hvis du skal have fat i den side du kom fra, er det Request.ServerVariables(\"HTTP_REFERER\") det drejer sig om.
Avatar billede tmceu Praktikant
06. august 2001 - 15:44 #8
Du mener sandsynligvis request.servervariables(\"script_name\"), som indeholder navnet på det aktuelle script.
Avatar billede jenskf Nybegynder
06. august 2001 - 18:11 #9
Nu virker det - tak for hjælpen :-)
Avatar billede avlund Nybegynder
06. august 2001 - 18:55 #10
Og tak for points!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester