/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Back
Fra : Albert


Dato : 11-03-02 15:15

Er der noget i ASP/VB så man kan sende brugeren tilbage til hans forrige
side ala history.back() i jscript ?

mvh Albert



 
 
Jesper Stocholm (11-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 11-03-02 17:12

"Albert" <skodskod@yahoo.com> wrote in news:3c8cbbdf$0$272$ba624c82
@nntp02.dk.telia.net:

> Er der noget i ASP/VB så man kan sende brugeren tilbage til hans forrige
> side ala history.back() i jscript ?
>

du kan ofte [1] hente den side brugeren kommer fra ud af
Request.ServerVariables-collectionen ved

dim strPrevURL
strPrevURL = request.servervariables("HTTP_REFERER")

Se hvilke andre smarte ting man kan hente på

http://asp.stocholm.dk/servervariables.asp

[1] Det er ikke altid klienterne er lige gode til at videreføre denne
variabel, så du skal enten bruge det til noget "ikke så vigtigt", eller
checke på, om det der gives med er brugbart.

--
Jesper Stocholm
http://stocholm.dk

Jeppe Bech M. (11-03-2002)
Kommentar
Fra : Jeppe Bech M.


Dato : 11-03-02 18:15

Hejsan.
Hvis man bruger servervariablen HTTP_REFERER, så sender den jo bare brugeren
tilbage til den forrige side, d.v.s. den URL brugeren kom fra. Korrekt?
Det virker ikke på samme måde som Javascriptet: Javascript:History.go(-1);
, vel?
Grunden til at jeg spørger, er at jeg har en side hvor brugeren indtaster
noget data i en form, som bliver sendt videre til en Validerings-side. Så
skal det være sådan, at hvis brugeren har indtastet ugyldig data i et felt,
så sender den brugeren tilbage til form-siden, hvor hans intastede data
stadig skal være der....! Det kan selfølgelig gøres ved at sende alt hans
input tilbage via validerings siden, men det er en del nemmere hvis man har
en kommando som førnævnte Javascript....
Virker det på samme måde?

Mvh. Jeppe Bech M.

"Jesper Stocholm" <spam200203@stocholm.dk> skrev i en meddelelse
news:Xns91CEAF054B317spamstocholmdk@130.226.1.34...
> "Albert" <skodskod@yahoo.com> wrote in news:3c8cbbdf$0$272$ba624c82
> @nntp02.dk.telia.net:
>
> > Er der noget i ASP/VB så man kan sende brugeren tilbage til hans forrige
> > side ala history.back() i jscript ?
> >
>
> du kan ofte [1] hente den side brugeren kommer fra ud af
> Request.ServerVariables-collectionen ved
>
> dim strPrevURL
> strPrevURL = request.servervariables("HTTP_REFERER")
>
> Se hvilke andre smarte ting man kan hente på
>
> http://asp.stocholm.dk/servervariables.asp
>
> [1] Det er ikke altid klienterne er lige gode til at videreføre denne
> variabel, så du skal enten bruge det til noget "ikke så vigtigt", eller
> checke på, om det der gives med er brugbart.
>
> --
> Jesper Stocholm
> http://stocholm.dk



Jakob Møbjerg Nielse~ (11-03-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 11-03-02 18:44

> Hvis man bruger servervariablen HTTP_REFERER, så sender den jo
> bare brugeren tilbage til den forrige side, d.v.s. den URL
> brugeren kom fra. Korrekt? Det virker ikke på samme måde
> som Javascriptet: Javascript:History.go(-1); , vel?

Nej. History.go(-1) fungerer som tilbage-knappen i browseren. Hvis du
laver et link med HTTP_REFERER fungerer det som et normalt link, dvs.
browseren gemmer ikke værdierne i formularen hvis den understøtter
dette. Hvad med at smide en

onLoad="Javascript:History.go(-1);" (eller hvordan det nu er)

ind i <body> hvis ikke værdierne valideres?

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



Jeppe Bech M. (11-03-2002)
Kommentar
Fra : Jeppe Bech M.


Dato : 11-03-02 19:19

Jo det var faktisk en god idé.... Havde jeg ikke tænkt på.... Merci...'




Jesper Stocholm (11-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 11-03-02 19:48

Jeppe Bech M. wrote in dk.edb.internet.webdesign.serverside.asp:
> Hejsan.
> Hvis man bruger servervariablen HTTP_REFERER, så sender den jo bare brugeren
> tilbage til den forrige side, d.v.s. den URL brugeren kom fra. Korrekt?
> Det virker ikke på samme måde som Javascriptet: Javascript:History.go(-1);
> , vel?

nej ... det gør det ikke.

> Grunden til at jeg spørger, er at jeg har en side hvor brugeren indtaster
> noget data i en form, som bliver sendt videre til en Validerings-side. Så
> skal det være sådan, at hvis brugeren har indtastet ugyldig data i et felt,
> så sender den brugeren tilbage til form-siden, hvor hans intastede data
> stadig skal være der....! Det kan selfølgelig gøres ved at sende alt hans
> input tilbage via validerings siden, men det er en del nemmere hvis man har
> en kommando som førnævnte Javascript....
> Virker det på samme måde?
>

du har ret i, at det ikke virker på samme måde som javascript, men jeg antog -
måske fejlagtigt - at spørgeren (er det dig?) var klar over, at der er forskel
på de ting man kan på klientsiden (javascript) og på serversiden
(ASP/vbscript).

Husk på, at du bør sikre dig, at dine sider også virker med de browsere, der
ikke har klientside scripts aktiveret, hvis du vælger at gøre brug af Jakobs
forslag :)

Hvis du vælger at bruge javascript, så ville jeg foretrække at lave
valideringen på indtastningssiden i stedet for på serversiden. Så sparer du
dine brugere for mindst to loads af siderne, hvis der er forkerte data i
formularen.

/Jesper

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Albert (11-03-2002)
Kommentar
Fra : Albert


Dato : 11-03-02 21:07


> du har ret i, at det ikke virker på samme måde som javascript, men jeg
antog -
> måske fejlagtigt - at spørgeren (er det dig?) var klar over, at der er
forskel
> på de ting man kan på klientsiden (javascript) og på serversiden
> (ASP/vbscript).
>
> Husk på, at du bør sikre dig, at dine sider også virker med de browsere,
der
> ikke har klientside scripts aktiveret, hvis du vælger at gøre brug af
Jakobs
> forslag :)
>
> Hvis du vælger at bruge javascript, så ville jeg foretrække at lave
> valideringen på indtastningssiden i stedet for på serversiden. Så sparer
du
> dine brugere for mindst to loads af siderne, hvis der er forkerte data i
> formularen.

Nu vil jeg - spørgeren - lige blande mig lidt

Jeg skal have lavet en db opdatering, og så fortsætte på den side jeg slap.
Da opdateringen kan blive kaldt mange steder fra, var det nemmeste blot at
"hoppe tilbage". Jeg er blevet pålagt at bruge vb, og dermed kan jeg ikke
bruge javascript funktionen. HTTP_REFERER returnerer en blank streng på
min testmaskine, så spørgsmålet er, om VB har noget lignende
history.back/gp(-1) ?

mvh Albert





Jørn Andersen (11-03-2002)
Kommentar
Fra : Jørn Andersen


Dato : 11-03-02 22:14

On Mon, 11 Mar 2002 21:06:50 +0100, "Albert" <skodskod@yahoo.com>
wrote:

Jesper:
>> jeg antog - måske fejlagtigt - at spørgeren var klar over,
>> at der er forskel
>> på de ting man kan på klientsiden (javascript) og på serversiden
>> (ASP/vbscript).

....

<SNIP>

>Nu vil jeg - spørgeren - lige blande mig lidt

Hvis du også vil hjælpe med lidt flere oplysninger, er der måske håb
om en løsning :)
Jeg kunne fx godt vide hvilket miljø, du udvikler til: Det store,
stygge Internet eller et mere kontrolleret intranet?

>Jeg skal have lavet en db opdatering, og så fortsætte på den side jeg slap.

Har du overvejet Server.Execute? Så bliver du jo reelt på samme side -
set fra klienten - og sparer derved også nogle overførsler af
variable.

>Da opdateringen kan blive kaldt mange steder fra, var det nemmeste blot at
>"hoppe tilbage".

Er disse andre sider (og deres interface til "din" side)
færdigudviklet - eller er det hele "åbent"?

Og:
Mener du bogstaveligt talt "mange steder fra" - eller mener du bare
4-5 steder eller noget i den retning.
Det virker for mig ret ukontrolleret, hvis tilfældige sider kan kalde
opdaterering af en db.
Er der derimod blot tale om en håndfuld forskellige, kunne man jo lade
disse sider sende hver sit kendetegn med, så man ved, hvortil der skal
returneres.

>Jeg er blevet pålagt at bruge vb, og dermed kan jeg ikke
>bruge javascript funktionen.

Blander du nu ikke server-side og klient-side? Eller har jeg
misforstået noget? (JavaScript/JScript kan som bekendt bruges både
server-side og klient-side.)

>HTTP_REFERER returnerer en blank streng på
>min testmaskine, så spørgsmålet er, om VB har noget lignende
>history.back/gp(-1) ?

Nu blander du igen server-side og klient-side ...
Hvordan kommer du i det hele taget fra dine "mange steder fra"-sider
og til din opdateringsside?

Lidt flere oplysninger om hvad det er du vil, please!


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Albert (12-03-2002)
Kommentar
Fra : Albert


Dato : 12-03-02 08:47

> Hvis du også vil hjælpe med lidt flere oplysninger, er der måske håb
> om en løsning :)
> Jeg kunne fx godt vide hvilket miljø, du udvikler til: Det store,
> stygge Internet eller et mere kontrolleret intranet?

Intranet

>
> >Jeg skal have lavet en db opdatering, og så fortsætte på den side jeg
slap.
>
> Har du overvejet Server.Execute? Så bliver du jo reelt på samme side -
> set fra klienten - og sparer derved også nogle overførsler af
> variable.

Okay, lidt mere præcisering er måske på plads. En ASP side (vb) genererer
en liste. Ud for hver punkt her skal der være en "slet". Altså vil det i
"gerningsøjeblikket" være en client side der kalder en opdatering. Af samme
grund er server.execute ikke aktuel.
Denne kaldte slet.asp skal helst returnere til præcis samme sted. Da listen
kan være bygget op flere forskellige vis, heriblandt en søgning - dvs. med
mange parametre i kaldelinket - vil det nemmeste være blot at kalde en back
fra slet.asp - om muligt.

Omvendt må jeg igang med at redirecte med samme parameterstreng som
foregående side havde, men det bliver blot lidt tungt. :-/

på forhånd tak for svarene !!

mvh Albert



Jesper Stocholm (12-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-03-02 10:02

Albert wrote in news:3c8dbd75$0$273$ba624c82@nntp02.dk.telia.net:

>> Hvis du også vil hjælpe med lidt flere oplysninger, er der måske håb
>> om en løsning :)
>> Jeg kunne fx godt vide hvilket miljø, du udvikler til: Det store,
>> stygge Internet eller et mere kontrolleret intranet?
> Intranet
>> >Jeg skal have lavet en db opdatering, og så fortsætte på den side
>> >jeg slap.
>>
>> Har du overvejet Server.Execute? Så bliver du jo reelt på samme side
>> - set fra klienten - og sparer derved også nogle overførsler af
>> variable.
>
> Okay, lidt mere præcisering er måske på plads. En ASP side (vb)
> genererer en liste.

det hedder altså vbs ... du kan intet lave på en ASP-side med udelukkende
VB.


> Ud for hver punkt her skal der være en "slet".
> Altså vil det i "gerningsøjeblikket" være en client side der kalder en
> opdatering.


Hvordan ser fordeligen af browserne ud ... ? Er det allesammen IE, NN ...
eller et mix ?

> Af samme grund er server.execute ikke aktuel.
> Denne kaldte slet.asp skal helst returnere til præcis samme sted. Da
> listen kan være bygget op flere forskellige vis, heriblandt en søgning
> - dvs. med mange parametre i kaldelinket - vil det nemmeste være blot
> at kalde en back fra slet.asp - om muligt.
>

jamen hvorfor bruger du så ikke history.back(-1) ? Det er samme kommando
om det er vbs eller javascript.

> Omvendt må jeg igang med at redirecte med samme parameterstreng som
> foregående side havde, men det bliver blot lidt tungt. :-/
>

ja ... det lyder heller ikke som om det er en god vej at bevæge sig ned
af.

I øvrigt bør du måske få kvalificeret af din arbejdsgiver, hvad der menes
med kravet "Det skal være vbs". Hvis det er på serversiden der menes, så
forstår jeg det ... hvis det er på klientsiden, så forstår jeg det også -
omend lidt mindre :)
--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jesper Stocholm (11-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 11-03-02 22:16

Albert wrote in news:3c8d0e70$0$268$ba624c82@nntp02.dk.telia.net:

>>
>> Hvis du vælger at bruge javascript, så ville jeg foretrække at lave
>> valideringen på indtastningssiden i stedet for på serversiden. Så
>> sparer du dine brugere for mindst to loads af siderne, hvis der er
>> forkerte data i formularen.
>
> Nu vil jeg - spørgeren - lige blande mig lidt
>
> Jeg skal have lavet en db opdatering, og så fortsætte på den side jeg
> slap. Da opdateringen kan blive kaldt mange steder fra, var det
> nemmeste blot at "hoppe tilbage".

jeps.

> Jeg er blevet pålagt at bruge vb,
> og dermed kan jeg ikke bruge javascript funktionen.

Øeh ...

> HTTP_REFERER
> returnerer en blank streng på min testmaskine, så spørgsmålet er, om
> VB har noget lignende history.back/gp(-1) ?
>

Du bør lige gøre dig klart, hvad de enkelte teknologier kan - og hvor de
hører hjemme.

Klientside:
Her kan du lave alle muligt fiksfakserier med javascript og vbscript. Du
kan lave din history.back(-1), document.writeline('');, alert(),focus
(),onHover(),onLoad(),onSubmit() + alle de andre ting man normalt forbinder
med DHTML. I funktionalitet er der ikke den store forskel på vbscript og
javascript/jscript - men vbscript/jscript understøttes kun i IE.

Serverside:
Her kan du bruge vbscript og jscript (som udgangspunkt). Forskellen er, at
klienten (browseren) ikke får dette at se, da de alle afvikles på serveren.
Når den så er færdig med at tygge lidt på det, så sender den et svar til
klienten - typisk HTML, men det kan være alt muligt andet, dvs CVS, XML,
PDF ... you name it. Den kan også sende et miks af HTML og javascript
tilbage til klienten. I dit tilfælde kunne det være:

<%
if [nogle felter er forkerte] then
   response.write "<html>"
   response.write "<head>"
   response.write "<script type='text/javascript'>"
   response.write "alert('Du har indtastet noget forkert.');" & VbCrLF
   response.write "history.back(-1);" & VbCrLf
   response.write "</script>"
   response.write "</head>"
   response.write "<body>"
   response.write "Der skete en fejl - klik på 'Tilbageknappen'"
   response.write "</body>"
   response.write "</html>"
end if
%>

Al kommunikation fx med database og validering af formfelter sker på
serversiden i enten jscript eller vbscript, og det er kun output fra disse,
der vises til klienten. Du kan så vælge at skrive output til klienten, der
indeholder javascript, men så afvikles dette også først når det når til
klienten.

En nærmere og mere detaljeret gennemgang af hvordan man kommunikerer med en
browser via ASP kræver lidt kendskab til, hvordan man "snakker" via HTTP,
men du kan jo sige til, hvis jeg skal forsøge at uddybe det lidt :)

Hvis det er et krav, at man skal kunne komme tilbage til formen med
indholdet i, så vil jeg bruge metoden skitseret herover - altså validere
input fra formen og i tilfælde af fejl, så sende en smule HTML med
javascript til klienten. Så kan du holde din serverside-kode i vbscript og
så sende javascript til klienten. Du skal dog stadig tage højde for, at der
altså er nogen - inklusive jeg selv - der som udgangspunkt ikke har
aktiveret javascript.

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jeppe Bech M. (11-03-2002)
Kommentar
Fra : Jeppe Bech M.


Dato : 11-03-02 21:14

Ja jeg kom vidst næsten til at "Overtage" inlægget.... (Det var ikke mig der
var spørgeren...
Du har ret i at man skal tage højde for folk der har udeladt at aktivere
script-debugging... Pis...
Jeg har også tænkt mig at lave valideringen på samme side, det har du også
ret i er den smarteste og hurtigste løsning.
Ja, man skal jo nok bruge session, eller post/get metoden... Det er vel op
til en selv.
Men faktum er det at man ikke kan besvare Alberts spørgsmål med et
tilfredsstillende svar... ?
Tak for svar, og fortsat happy hunting....

Mvh. Jeppe Bech M.

"Jesper Stocholm" <spam200203@stocholm.dk> skrev i en meddelelse
news:a6iu4s$9v1$1@sunsite.dk...

> du har ret i, at det ikke virker på samme måde som javascript, men jeg
antog -
> måske fejlagtigt - at spørgeren (er det dig?) var klar over, at der er
forskel
> på de ting man kan på klientsiden (javascript) og på serversiden
> (ASP/vbscript).
>
> Husk på, at du bør sikre dig, at dine sider også virker med de browsere,
der
> ikke har klientside scripts aktiveret, hvis du vælger at gøre brug af
Jakobs
> forslag :)
>
> Hvis du vælger at bruge javascript, så ville jeg foretrække at lave
> valideringen på indtastningssiden i stedet for på serversiden. Så sparer
du
> dine brugere for mindst to loads af siderne, hvis der er forkerte data i
> formularen.
>
> /Jesper
>
> --
> KONKURRENCE PÅ HTML.dk:
> fortæl hvordan din drømmeeditor ser ud
> og vind luksus webhoteller fra Wannafind
> KLIK HER! => http://www.html.dk/editor



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste