Jeg er simpelthen ved at få grå hår... Jeg er ved at lave en side der skal håndtere 2 forskellige sprog. Sprog ligger i database, og skal hentes, afhængigt af det ønskede sprog. Jeg har valgt at man via et link skal vælge sprog.
Ved at klikke på linket modtages sprogid via querystring, hvorefter jeg ønsker at oprette en session.Så langt så godt. Problemet er at ikke kan overføre session til de efterfølgende sider. se eks.
side1.asp
<html> <body> <p><a href="/side1.asp?language=uk">engelsk</a></p> <p><a href="/side1.asp">dansk </a></p> <p><a href="/side2.asp">videre med os </a></p> <% dim language language =Request.QueryString("language") If language = "uk" Then Session.Abandon Session("lan")="uk" Response.Write("Hello how are you " & language & "!<br />") else Session.Abandon Session("lan")="dk" Response.Write("Godag " & language & "!<br />") End If %> <%= Session("lan") %> </body> </html> ---------------------------------------------------------
side2.asp
<html> <body> <p><a href="/side1.asp?language=uk">engelsk</a></p> <p><a href="/side1.asp">dansk </a></p> <p><a href="/side3.asp">videre med os </a></p> <%Response.Write(Session("lan"))%>
Du skal ikke kalde session.abandon først! Når man kalder session.abandon så bliver den først udført til sidst på siden uanset hvad Herved får du slettet indholdet af sessionen
Det ser heller ikke ud til at løse problemet, ideen var at den aktive session skulle nedlægges ved ændring af sprogvalg. Scriptet virker fint, bortset fra at jeg ikke kan videreføre sessionen til de efterfølgende sider. Jeg havde forstået at sessions uden videre kunne overføres til efterfølgende sider, men jeg kan ikke få det til at virke.
ja det kan de også Men når du kalder session.abandon så slettes alt indhold i den aktive session Det skal blot bemærkes at et kald til session.abandon først har effekt til sidst på siden uanset hvor du skriver det Derfor er det lige gyldig om du skriver -- Session.Abandon Session("lan")="uk" --- eller --- Session("lan")="uk" Session.Abandon --- Så snart side1.asp er indlæst færdig så kaldes abandon og sessionen dør Når du så klikker på et link til side2.asp så får du tildelt en ny session
hmm underligt, ellers er koden mangen til den øverst oppe? Og den skriver det fint ud på side1.asp? Men når du klikker på linket til side2.asp så skriver den intet ud? For det ser godt nok ud så...hmm :o/
det lyder som et eller andet i dit miljø der ikke er slået til.
Har du gang i andre session-variable som fungerer?
Har du nogen page-directives som slår sessions fra (@SESSIONSTATE=FALSE)?
Er IIS sat til at slå sessions fra (kig på egenskaber for sitet i IIS-manageren Home Directory > Configuration-knappen og Options-fanen i det vindue som popper frem når du trykker på Config.-knappen)?
Det vil sige at der er ikke noget som fungerer hvad session angår og alt er slået til i browseren og i IIS og i script. Så du er med andre ord fuldstændig afskåret fra at bruge sessions... tjaah, det kan man vist kalde too bad!
Som jeg gjorde opmærksom på... jeg er virkelig ved at få grå hår.... Jeg har dog fundet en alternativ løsning, men jeg ville bare gerne finde fejlen... :-)
Jeps... det har jeg prøvet, og det virker fint. Problemet skyldes måske at jeg laver request.querysting("language") i et link med henholdsvis værdien "UK" og "DK". på side1.asp virker det fint, men jeg kan @¤$#%%& ikke få den værdi trukket ud på de efterfølgende sider. ØV
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.