Code :
<html> <head> <title>Kleuren : for lus</title> <link href="../stijl.css" rel="stylesheet"> </head> <% dim kleuren(6) kleuren(0) = "yellow" kleuren(1) = "green" kleuren(2) = "red" kleuren(3) = "blue" kleuren(4) = "deepskyblue" kleuren(5) = "firebrick" kleuren(6) = "white" kleurnr = request.querystring("kleurnr") if kleurnr = "" then response.write "<BODY>" else response.write "<BODY bgcolor=""" &kleuren(kleurnr) &""">" end if %> <div class="hoofding"> Kleuren : FOR-lus </div> <% for teller = 0 to ubound(kleuren) response.write "<a href=""kleuren.asp?kleurnr=" &teller &""">" &kleuren(teller) &"</a><br>" next %> </body> </html>
Uitleg :
Hierboven vind je de code van de volledige pagina. Deze toepassing is een stuk ingewikkelder dan de voorgaande voorbeelden. In de HEAD-sectie van de pagina wordt een Array kleuren gedefiniëerd met daarin 7 kleuren : dim kleuren(6) kleuren(0) = "yellow" kleuren(1) = "green" kleuren(2) = "red" kleuren(3) = "blue" kleuren(4) = "deepskyblue" kleuren(5) = "firebrick" kleuren(6) = "white" In de BODY-sectie worden met een FOR-lus 7 hyperlinks gemaakt. Deze hebben een querystring : kleurnr=(een nr van 0-6) : for teller = 0 to ubound(kleuren) response.write "<a href=""kleuren.asp?kleurnr=" &teller &""">" &kleuren(teller) &"</a><br>" next Een FOR-lus kan je gebruiken om opdrachten meerdere keren te laten uitvoeren. Hier wordt de response.write-opdracht 7 keer uitgevoerd : - de variabele teller gaat van 0 tot 6 6 is de bovengrens van de Array kleuren, opgevraagd met de ASP-functie ubound(naam van een Array) - de opdrachten tussen FOR en NEXT worden zoveel keer uitgevoerd als aangegeven na de FOR-instructie - telkens wordt de waarde van de variabele teller gebruikt in de querystring van de hyperlink die in de response.write routine wordt aangemaakt. De hyperlink is hier een koppeling naar dezelfde pagina : kleuren.asp ! In de querystring wordt een kleurnr doorgegeven, dit wordt in de HEAD-sectie opgevangen : kleurnr = request.querystring("kleurnr") Het kleurnr wordt vervolgens gebruikt om een gepaste waarde in het bgcolor-attribuut van de BODY-tag te plaatsen : if kleurnr = "" then response.write "" else response.write "" end if Met een IF...THEN...ELSE...-routine wordt gekeken of kleurnr een waarde bevat. (Wanneer de pagian kleuren.asp wordt geladen zonder op een hyperlink met een querystring te klikken, dan is deze variabele niet gevuld) In ASP-code kan je " (dubbele quotes) doorgeven door "" te tikken. Dit heb je nodig om bv. in een response.write opdracht attribuutwaarden tussen " en " te plaatsen. response.write "<a href=""kleuren.asp?kleurnr=" &teller &""">" &kleuren(teller) &"</a><br>"