On 25 Nov 2005 23:03:18 GMT, kurt <ikkemin@email.dk> wrote:
>Jeg er ved at lave en hjemmeside. Her bruger jeg meget
>parametere. Problemet er, hvis jeg skriver
>
www.hjemmeside.dk/default.asp?f opstår der et problem. Problemet
>er hvis du kikker på det der kommer efter ".asp?" er f. Her
>skulle den bare henvise til hjemmesiden. Det gør den ikke. I
>stedet viser den bare bare en blank side. Hvordan laver jeg en
>if-then-else betingelse i javascript, så den bare henviser til
>hjemmesiden hvis man fx. kommer til at skrive f ?
>
>mvh kurt
>
>ps: parametre som fx id = 1 skal der være mulighed for at få
>adgang til, men man skal bare ikke have vist en blank side, hvis
>man har kommet til at skrive fx.
www.hjemmeside.dk/default.asp?f
Jeg vil tro, at du mangler en "catch all" i din selektering.
Hvis du fx bygger det op således:
intId = Trim("" & Request.QueryString("id"))
If intId <> "" Then
' Her kommer så din side
End If
- så vil der ikke ske noget i de tilfælde, hvor der ikke er angivet et
numerisk Id.
Men hvis du indføjer et Else:
intId = Trim("" & Request.QueryString("id"))
If intId <> "" Then
' Her kommer så din side
Else
' Her skriver du evt. en fejlmeddelelse eller bare en standardside
End If
- så vil du få noget under alle omstændigheder.
Prøv at teste forskellige udgaver af QueryString'en - og udskriv fx
med:
intId = Request.QueryString("id")
Response.Write intId & "<br />" & vbcrlf
Response.Write IsNumeric(intId) & "<br />" & vbcrlf
Response.Write IsEmpty(intId) & "<br />" & vbcrlf
Response.Write (intId = "") & "<br />" & vbcrlf
- du vil sikkert blive overrasket over nogle af resultaterne
Prøv fx med:
?id=1
?id
?f
Prøv fx også at udskrive med:
Response.Write TypeName(intId) & "<br />" & vbcrlf
Oftest plejer jeg at bruge flg. model:
intId = Trim("" & Request.QueryString("id"))
(som i eksemplet overfor)
Den fanger både tomme strenge (""), strenge med kun mellemrum (" ")
og Empty-værdier - og Null-værdier, hvis det er fra en database:
intId = Trim("" & ObjRs("id"))
De bliver allesammen konverteret til en tom streng (""), som man så
kan teste på med:
If intId <> "" Then
osv.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj