17. juni 2003 - 13:44Der er
8 kommentarer og 2 løsninger
hvor kigger request("navn") efter navn ?
Når man får værdier fra en postet side bruger man
request.form("navn")
og når man får værdier som parametre i url´en bruger man
request.querystring("navn")
En hurtig skrivemåde der kan finde navn begge steder er
request("navn")
Men hvad nu hvis navn forekommer begge steder ? hvilken af værdier er det så man aflæser ?
Og jeg har endda oplevet at
request("os") gav værdie Windows NT selvom jeg ikke havde nogen variabel af dette navn med over !
For mig ser det altså ud til at request("navn") kigger flere steder end blot i form og querystring.
Så hvordan kan man egentlig vide hvorfra ens variabel bliver aflæst ?
(Jeg har nemlig hidtil ikke vist at request("navn") kunne aflæses flere steder fra end fra form og querystring -- og jeg har derfor i min programmering udnyttet at jeg troede at når jeg ikke havde givet "navn" værdi disse steder så var "navn" tom)
Den løber altså alle objekter under Request igennem, og ser om der er en variabel der har navnet "navn". Når du skriver "os", så viser den den her variabel:
Kan jeg vide 1) hvilken værdi jeg får hvis der er navnesammenfald i objektnavnene under Request ? 2) har jeg nogen mulighed for at vide om et bestemt objektnavn er "brugt" dvs indeholder en værdi ?
du kan godt hente alle vaerdierne ud med dette stykke kode
For Each Item In Request.[Form|QueryString|Cookies|ServerVariables] Response.Write(Item & " Value: " & Request.[Form|QueryString|Cookies|ServerVariables](Item)) Next
Dette kode skal saa gentages igen og igen indtil at du er igennem alle mulighederne i Request objectet (Form, QueryString, osv)
Det bedste er at naar man skriver sin kode at man angiver praecies hvor du vil hente sin data fra om det er fra en querystring, form ol. herved undgaar man det som du har oplevet. Det bedste vil derfor vaere hvis du valgte at aendre din maade at skrive paa for at tjekke paa alle mulighederne er baade resource kraevende og kan give noget meget grimt kode.
>soes: hvis du laver et svar får du nogen af pointene
Det eneste jeg ikke har fået opklaret er nu 1) hvilken værdi jeg får hvis der er navnesammenfald i objektnavnene under Request ? -- altså : hvis jeg f.eks har fire variabler (en i form,en i querystring,en i cookie og en i servervariables) som alle hedder os og som alle har forskellige værdier; hvilken værdi får request("os") så ?
Undskyld ventetiden -- jeg deler pointsene mellem jer
Jeg fandt en bog hvor der stod at der er en forudbestemt rækkefølge hvori request aflæses, men de ville ikke skrive hvilken rækkefølge da de ikke ville opfordre til at man lavede kode hvor man risikerede fejl der ville tage ugers debugging at finde. -- så jeg må hellere programmere lidt kønnere for fremtiden :-)
Synes godt om
Ny brugerNybegynder
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.