Når du arbejder med ASP har du ofte brug for at overføre værdier af variabler fra et dokument til et andet. Denne lektion handler om hvordan man kan overføre værdier af variabler gennem en URL.
Måske har du ofte undret dig over hvorfor nogle URL'er f.eks. ser sådan her ud:
http://www.html.dk/dokument.asp?id=1254
Hvad er det for et spørgsmålstegn efter dokumentnavnet?
Svaret er at de tegn, som står efter spørgsmålstegnet, benævnes HTTP query string, og kan indeholde variabler og deres værdier. Hvis du kigger på eksemplet ovenfor, indeholder HTTP query string én variabel ved navn id - med værdien 1254.
På sammen måde kan vi betragte følgende URL:
http://www.html.dk/dokument.asp?navn=Jens
Her er der på samme måde tale om en variabel (navn) med en værdi (Jens).
Lad os sige at du har et ASP dokument, som vi kunne kalde for person.asp. Og lad os sige at du kalder dette dokument med følgende URL:
person.asp?navn=Jens
Så vil du med ASP være istand til at få fat på værdien af variablen 'navn' på følgende måde:
Request.Querystring("navn")
Man benytter altså objektet
Request og
QueryString til at finde værdien på en navngiven variabel. Lad os prøve det af i et eksempel:
<html> <head> <title>Querystring</title> </head> <body> <% ' Værdien af variablen navn findes Response.Write "<h1>Hej " & Request.Querystring("navn") & "</h1>" %> </body> </html>
Når du kigger på ovenstående eksempel, så prøv at udskifte navnet 'Jens' med dit eget navn i URL'en - og prøv så at kalde dokumentet igen! Ganske smart ikke?
Du er ikke begrænset til kun at overføre en variabel gennem en URL. Ved at adskille variablerne med et & kan flere værdier overføres:
person.asp?navn=Jens&alder=24
Denne URL indeholder altså 2 variabler - navn og alder. På præcis samme måde som ovenfor kan værdier findes på følgende måde:
Request.Querystring("navn")
Request.Querystring("alder")
Lad os prøve det af ved at udvide eksemplet ovenfor med en ekstra variabel:
<html> <head> <title>Querystring</title> </head> <body> <% ' Værdien af variablen navn findes Response.Write "<h1>Hej " & Request.Querystring("navn") & "</h1>" ' Værdien af variablen alder findes Response.Write "<h1>Du er " & Request.Querystring("alder") & " år gammel</h1>" %> </body> </html>
Det var en måde at overføre værdier mellem dokumenter på - i den næste lektion kigger vi på en anden måde: formularfelter.