Avatar billede skovtrold Nybegynder
29. oktober 2002 - 08:42 Der er 5 kommentarer og
1 løsning

Udtræk fra querystring?

Hvis man har en streng i form af en URL i stil med f.eks.

http://www.server.dk/test.asp?MainID=23&SubID=34&MenuID=2

Hvordan kan man så - via ASP - nemmest få værdien af hhv. MainID, SubID og MenuID ud?
Det er IKKE fra URL'en, så request.querystring duer ikke. Det er en streng fra en database, hvor jeg på det nemmeste måde skal have de enkelte værdier ud.
Værdierne kan variere.
Avatar billede hossein Nybegynder
29. oktober 2002 - 09:16 #1
Du kan bruge funktionerne
Right(minfelt,4) er antal tegn
eller:
Left(minfelt, 4)
Da du kender længden af fx:
str= http://www.server.dk/test.asp? hertil så bruger du left()
left(str, 29)
Avatar billede hossein Nybegynder
29. oktober 2002 - 09:18 #2
Avatar billede skovtrold Nybegynder
29. oktober 2002 - 09:27 #3
Hossein: URL'en vil aldrig være den samme, hverken hvad angår længde eller indhold, så hverken left() eller right() kan bruges.

Jeg har midlertidig løst det ved at lave en SPLIT på hhv. "?" og "&", men der må være en nemmere og mere "rigtig" måde.
Avatar billede hossein Nybegynder
29. oktober 2002 - 09:37 #4
enig det må være en nemmer måde!
Avatar billede grunken Nybegynder
31. oktober 2002 - 05:08 #5
så lige det her spørgsmål og fandt ud af her på de tidlige timer hvor omsonst det egentligt er at trække lidt værdier ud af en streng!

Men om du bruger split eller nedenstående kan vel egentligt være ligemeget.., jeg ved ikke hvad du skal bruge det til, men nedenstående fungerer :)

<%
Dim strTekst, intStart, intSlut, intSidste
strTekst = "http://www.server.dk/test.asp?MainID=23&SubID=34&MenuID=2"

do
  t = t + 1

  intStart = InStr(1, strTekst, "=") + 1
  intSlut = InStr(intStart, strTekst, "&")
  intSidste = int(len(strTekst) + 1)

  If intSlut > 0 Then
    Response.Write "<b>ID" & t & " : </b>" & Mid(strTekst, intStart, intSlut-intStart) & "<BR>"
  Else
    Response.Write "<b>ID" & t & " : </b>" & Mid(strTekst, intStart, intSidste-intStart) & "<BR>"
    Exit do
  End If 

  strTekst = Mid(strTekst, intSlut +1 , intSidste)
loop
%>

håber du ku bruge det !

-grunken
Avatar billede grunken Nybegynder
31. oktober 2002 - 05:13 #6
svar da :)
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