webForumDet fria alternativet

Förklaring av kod

ASP

6 svar · 261 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#1

Hejsan!

Såg en intressant kodsnutt på nätet:

<%
1. Dim strPage 'as string
2. strPage = Trim(Lcase(Request.QueryString("page")))
3. Select case strPage
4. case <> ""
5. Server.Execute strPage & ".asp"
6. case else 
7. Server.Execute "start.asp"
8. End select
%>

Det verkar som att man kan använda den här till ngt meny system eller liknande, men jag har inte fått grep om kodningen riktigt, vad är det som görs på rad 2 då man läser in en querystring till strängen strPage men varifrån hämtar man värdet på querystringen???

sedan har jag inte förstått mig på d här med server.execute ?? vad är det den gör???

Medlem sedan feb. 200112 078 inlägg
#2

I querystringen finns troligtvis namnet på en fil, utan filändelse, då det verkar som scriptet tar för givet att filen är en ASP-fil.

Om strängen inte är tom, klistra ihop variabel strPage och ändelsen och executa den sidan (skicka vidare, ungefär).

Om strängen är tom, skicka till sidan start.asp.

Medlem sedan okt. 20005 273 inlägg
#3

<%
1. Dim strPage 'as string
Här Dimmas variabeln strPage
2. strPage = Trim(Lcase(Request.QueryString("page")))
Här fylls variabeln strPage med värdet från en QueryString vid namn "page", Trim tar bort alla eventuella mellanslag framför och bakom värdet i "page", Lcase gör alla bokstäver till gemener.
3. Select case strPage
4. case <> ""
5. Server.Execute strPage & ".asp"
6. case else
7. Server.Execute "start.asp"
8. End select
Här körs en Select Case på värdet i strPage.
På rad 4 kollas det om det finns nåt värde överuvudtaget gör det de så körs koden på rad 5, den är ungefär som Response.redirect och resulterar i att "skickas" vidare till sidan som finns i strPage.
Annars körs case else på rad 6, och då "skickas man vidare till "start.asp".

Hoppas du blev lite klokare :)

mvh icaaq

Medlem sedan dec. 20001 626 inlägg
#4

men varifrån får strPage sitt värde?? den får den från querystringen, men vart får querystringen sitt värde ifrån??

Medlem sedan apr. 20021 203 inlägg
#5

En länk kan så et såhär:
<a href=sida.asp?varde=1>

.. då kommer det bildas en Sträng som heter varde och har värdet 1. Föratt sedan få denna strängen på en annan sida anropar man den genom att skriva:

Request.QueryString("varde")

Medlem sedan juni 20019 519 inlägg
#6

sidan.asp?page=VÄRDET

när du knappa in hemsidan sidan.asp?page=voigtan

så får querystringen("page") värdet voigtan... förstår du?

Medlem sedan dec. 20001 626 inlägg
#7

okidoki, har blivit lite klokare, men hur ska man kunna använda den här koden?? och till vad kan den vara nyttig?? om man ska använda den till ett menysystem vilket jag förutspådde att den va till, vart ska man då klistra in koden??

294 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
146 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)