Avatar billede marrix Juniormester
17. april 2004 - 22:16 Der er 9 kommentarer og
1 løsning

server.execute tilføjet en variabel?

Hej...

Jeg vil meget gerne - via server.execute - kunne sende en variabel med. Noget a la dette:

server.execute "etellerandet.asp?navn=ib"

...kan det bare overhovedet ikke lade sig gøre?
Hvis ikke, hvad gør jeg så? Jeg skal have noget med retur (fra etellerandet.asp) til den kaldende side. Men det der skal med tilbage skal variere lidt, afhængig af den variabel der sendes med...

Nogle gode svar og forslag?

Allervenligst
Marianne
Avatar billede eagleeye Praktikant
17. april 2004 - 22:27 #1
Umiddelbart via session variable:

session("navn") = "ib"
server.execute "etellerandet.asp"
Avatar billede marrix Juniormester
18. april 2004 - 08:36 #2
...jo det har jeg også selv tænkt på - men er der ikke noget med at man kan slå sessions fra på en eller anden måde (eller er det kun cookies?)....?
Det er ret vigtigt at det virker, så....kan der gå noget galt ved brug af sessions? (For ellers er det jo en nem måde at løse problemet på).

Venligst
Marianne
Avatar billede krogstrup Nybegynder
18. april 2004 - 10:28 #3
jeg har måske misforstået dig, men følgende kan i hvert fald lade sig gøre...

Hvis vi forestiller os at dit hoveddokument hedder main.asp og dit inkluderede asp dokument hedder include.asp

hvis main.asp således kaldes med nogle parametre, f.eks.: main.asp?navn=ib

og du i main.asp inkluderer include.asp via server.execute kan du i include.asp hente variablen navn ganske normalt via

navn = request("navn")

Men hvis variablen navn IKKE er een der sendes til main.asp som parameter, men een du f.eks henter fra en database, er du nødt til at hente denne variabel frem fra databasen på ny fra dokumentet include.asp da variabler deklareret i main.asp desværre ikke kan læses fra dit server.execute dokument.

Men ellers kan du selvfølgelig som allerede foreslået putte variablerne i sessions variabler i main.asp for at kunne læse dem i include.asp

Og ja; du har ret - hvis en bruger fuldstændig har slået brugen af cookies fra, vil session variabler IKKE fungere :-(
Avatar billede eagleeye Praktikant
18. april 2004 - 12:20 #4
>>hvis en bruger fuldstændig har slået brugen af cookies fra, vil session variabler IKKE fungere :-(
Sludder så ved du vist ikke hvordan en session variable virker.

Session gemme også selvom folk slår cookies fra, det de slår fra er at man gemmer session id'et og dermed kan finde session variablen igen når man loader en anden side som henter fra samme variable. Så længe siden køre på serveren virker session ligemeget hvordan brugeren har sat det op.
Avatar billede eagleeye Praktikant
18. april 2004 - 12:20 #5
Hvis det er POST eller GET data du skal parse vidre kan du bruge Server.Tranfer som føre POST og GET data vidre.
Avatar billede marrix Juniormester
18. april 2004 - 15:12 #6
Hej...

Jeg må vist hellere forklare lidt mere præcis, hvad det er jeg skal bruge sagerne til. Men jeg er altså ude efter en så enkel og sikker måde at gøre det på, så indtil videre ser sessions jo lovende ud.

Jeg har et navigationspanel, som går igen på flere sider. Det er lidt irriterende at skulle rette det samme panel på alle sider, når behovet opstår, så derfor vil jeg gerne hente panelet ind på siderne fra en eneste side (hvor nav.panelet er beskrevet - siden kunne eksempelvis hedde navigation.asp).

Oprindelig ville jeg blot have brugt den der ssi-version med <!--#include file="navigation.asp"-->, hvad der i og for sig også virker fint. Problemet er blot at tekst-linjerne i navigationspanelet skal ændre sig, afhængig af hvilken side panelet dukker op på. F.eks. så teksten "Startside" (i nav.panelet)  skal være fed, når brugeren er på startsiden osv.

Dette kan jo forholdsvis nemt ordnes med lidt asp-kodning (f.eks. lidt if-then sætning) - men kun hvis jeg har et eller andet med fra "main-siden" til navigation.asp, der fortæller til hvilken side navigationspanelet nu skal bruges.

Det ville jeg kunne gøre med: server.execute "navigationspanel.asp?side=hoved" - hvis dette altså overhovedet var muligt (hvad det vist ikke er). Alternativt kan jeg benytte mig af mulighederne i en session.

...og så vidt jeg har forstået, er jeg nødt til at bruge server.execute for at få serveren (eller hvad det nu er) til at tolke navigationspanel.asp inden sidens (tolkede) indhold hentes ind på hovedsiden. Således dur server.transfer vist ikke (da den så vidt jeg husker ikke hiver noget resultat med tilbage....?!?).

Nogle bedre forslag end at bruge sessions?

Venligst
Marianne
Avatar billede eagleeye Praktikant
18. april 2004 - 15:20 #7
Ja det rigtigt server.tranfer kommer ikke tilbage..

Hvis du vil bruge indclude kan du lave variable, da include filen deler adresse-space.

<%
navn = "hej"
%>
<!--#include file="navigation.asp"-->

så kan du i filen navigation.asp også bruger variablen navn uden vidre.
Avatar billede marrix Juniormester
18. april 2004 - 15:32 #8
okay...jeg troede ikke at man kunne bruge/genbruge variabler på tværs af forskellige asp-sider. Har jeg misforstået dette?
Kan jeg virkelige få værdien "hej" frem på den side som tolkes/hentes? Er det fordi det drejer sig om ssi? Eller ville jeg også kunne det på tværs af alle andre asp-sider?

Marianne
Avatar billede eagleeye Praktikant
18. april 2004 - 15:44 #9
Hvis du includer kan du bruge variablen i de filer du includer.

Så hvis du har en linje som udskriver navn i navigation.asp:
Response.write navn

vil den udskrive "hej"
Avatar billede marrix Juniormester
18. april 2004 - 16:26 #10
hæhæ - nu har jeg prøvet med både session og den der almindelige variabel. Og begge dele virker upåklageligt. Så er der en af de to måder at gøre det på, der er at foretrække? Er det ene hurtigere at afvikle, eller er der andet der gør, at jeg bør vælge den ene måde frem for den anden?

...og så lige et spørgsmål - det der med at hive variablen (<%navn="ib")%>) med, virker jo så når jeg includer...men ville det også virke mellem to uafhængige asp-sider? Så vidt jeg husker...nej...men husker jeg rigtigt? Kunne selvfølgelig teste, men hvis du nu lige har svaret ved hånden...

Pointene går vist til eagleeye for første brugbare løsningsmodel - men stort tak til jer begge for forsøget på at hjælpe mig :)

Venligst
Marianne
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