Toon posts:

[ASP] Url Variabele vervangen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Middag!

Ben een variabele link aan het opbouwen die gebruik maakt van de huidige URL Parameters, Zo ziet hij er ongeveer uit


Link = Request.ServerVariable("URL") & "?" & Request.QueryString()


Nou zit er in een van de bestaande URL Params een Variabele die vervangen moet worden, te weten PageID. Het is zinloos om de gehele QueryString te herschrijven want deze is volledig variabel.

Hoe kan ik dus de PageID uit de String halen zodat ik deze kan 're-setten' en vervolgens weer achter aan erbij kan zetten...

Misschien een beetje vage vraag, maar misschien begrijpt iemand me; anders zal ik het nog anders proberen uit te leggen

Bedankt alvast

[ Voor 5% gewijzigd door Verwijderd op 17-03-2003 13:35 ]


  • syllaz
  • Registratie: Mei 2002
  • Laatst online: 20-04 17:01
<% Request("PageID") = "nieuwe waarde" %>

en deze waarde opnieuw meegeven aan je URL parameters?

Of wil je die parameters helemaal gaan strippen om de PageID eruit te halen?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

- de huidige query string parsen en alle vars in een hashtable zetten
- de nieuwe variabelen toevoegen aan de hashtable
- de hashtable omzetten naar query string

op die manier worden nieuwe variabelen toegevoegd, en variabelen die al bestaan worden gewijzigd

.edit: replace ("hash", "hashtable"). Een 'hash' is geen goeie benaming ;)

[ Voor 16% gewijzigd door .oisyn op 17-03-2003 14:08 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
.oisyn schreef op 17 maart 2003 @ 13:39:
- de huidige query string parsen en alle vars in een hash zetten
- de nieuwe variabelen toevoegen aan de hash
- de hash omzetten naar query string

op die manier worden nieuwe variabelen toegevoegd, en variabelen die al bestaan worden gewijzigd
Klinkt logisch, ik durf het niet te vragen maar hoe zet ik een hash! :?
Zit in mijn ASP Boeken te kijken; maar kom niets tegen!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Zoek eens naar het Dictionary object.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Oké, hiermee moet het inderdaad wel lukken. Maar hoe trek ik ze er dan uit; aka hoe schrijf ik een row weg? For Each ofzo? Want de QueryString is één geheel... En niet allemaal losse objecten

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

querystring is ook een collection, afaik.
for each item in request.querystring etc. moet dus ook werken. Probeer het anders.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Werkt dit niet?

ASP:
1
  Link = Request.ServerVariable("URL") & "?" & Replace(Request.QueryString(), "PageID=" & Request("PageID"), "PageID=0")


Dan staat ie op 0, die nu kan je ook door niets (="") vervangen....

Verwijderd

Topicstarter
gorgi_19 schreef op 17 maart 2003 @ 15:30:
querystring is ook een collection, afaik.
for each item in request.querystring etc. moet dus ook werken. Probeer het anders.. :)
Runtimefout Microsoft VBScript error '800a01c3'

Dit object is geen collectie

/home/includes/preview.asp, line 21


Volgens mij is het geen collectie!!


Heb net gekeken naar het ServerObject (QUERY_STRING) Maar die werkt ook niet , er staat trouwens een hoop hierover op msdn; maar niet wat ik nodig heb...

[ Voor 32% gewijzigd door Verwijderd op 17-03-2003 16:17 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Grappig.. In mijn boekje wel.. :)
Laat je code eens zien anders.. (Alleen het relevante gedeelte)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    URLParam = Request.QueryString()
    Set objDictionary = Server.CreateObject("Scripting.Dictionary")
    
        For each key In URLParam 
            objDictionary.Add key, Value
        Next
        objDictionary.Delete("ProdID")
        
        For Each element in objDictionary
            Response.Write objDictionary.Value(element)
        Next
        
    objDictionary.Close()
    Set objDictionary = Nothing

[ Voor 11% gewijzigd door Verwijderd op 17-03-2003 16:43 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

ASP:
1
2
3
For each item in Request.Querystring
    objDictionary.Add item, Request.Querystring(item)
Next

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Hij werkt!! Bedankt NTGiant!

code:
1
2
NewURLParam = Replace(Request.QueryString(), "&PageID=" & PageID, "")
link= Request.ServerVariables("URL") & "?" & NewURLParam & "&PageID="
Pagina: 1