webForumDet fria alternativet

response.redirect?

9 svar · 512 visningar · startad av Donatello

DonatelloMedlem sedan jan. 2005108 inlägg
#1

Kan någon förklara hur response.redirect fungerar? Har testat lite, men det känns som om jag inte blir riktigt klok på hur det fungerar ändå. Ponera att man har följande:

IF access > 0 THEN
Do stuff
IF access > reqsite THEN
Response.redirect "/security/login.asp?fel=1"
ELSE
login = true
END IF
ELSE
Response.redirect "/security/login.asp?fel=2"
END IF

Plus en massa annan goja....

Om access > reqsite = true, hoppar han då direkt iväg till login.asp och skiter i koden längre ner på sidan, eller hur gör han..? Blir inte riktigt klok på det där...

Tacksam för svar.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#2

Re: response.redirect?


IF access > 0 THEN
' om access är större än 0.
' gör något, 

' om access är större än 0 och större än reqsite
' gå till /security/login.asp?fel=1
  IF access > reqsite THEN
    Response.redirect "/security/login.asp?fel=1"
  ELSE
' om ej, login = true.
' avsluta satsen. gör något!
login = true

END IF

' om access ej är större än 0, gör detta. 
ELSE
    Response.redirect "/security/login.asp?fel=2"
END IF

Skulle man väl kunna säga..

doggelitoMedlem sedan juni 20003 076 inlägg
#3

japp, koden sticker direkt iväg till login.asp?fel=1
för att göra det lite "snyggare" så kan man även göra så här :)

response.redirect("/security/login.asp?fel=1")
response.end()
...
DonatelloMedlem sedan jan. 2005108 inlägg
#4

Thanks guys! :birp

*pillar vidare*

doggelitoMedlem sedan juni 20003 076 inlägg
#5

värt att veta:
response.end i koden ovan fyller egentligen ingen funktion mer än att man tydligt ser att koden slutas att köra där.

vill man vara extra ordentlig så ska man även köra response.clear före response.redirect också.
http://www.devguru.com/Technologies/asp/quickref/response_redirect.html

CoccozzMedlem sedan apr. 20032 072 inlägg
#6

På tal om response.redirect.
Hur gör jag om jag vill göra en redirect som skall öppnas i hella webbläsaren när sidstandarden är ramen body?
By default öppnas sidan som redirecten hänvisar till i body-ramen men jag vill alltså använda hela webbläsarfönstret.
Hur gör jag?

erkaMedlem sedan dec. 19996 522 inlägg
#7

Det går inte, fönstren/ramarna styrs på klienten tyvärr. Kanske kan lösa det med ett javascript som ploppar upp den nya till ett popupp-fönster där du skickar med en parameter i form av dit du ska redirecta.

doggelitoMedlem sedan juni 20003 076 inlägg
#8

du kan alltid byta redirect till en write som erka är inne på:

Response.Write("<script>parent.FRAMENAMNET.location.href='DIN_SIDA.ASP';</script>")
Erik JuhlinMedlem sedan maj 200010 687 inlägg
#9

doggelito skrev:

japp, koden sticker direkt iväg till login.asp?fel=1
för att göra det lite "snyggare" så kan man även göra så här :)

response.redirect("/security/login.asp?fel=1")
response.end()
...

Att skriva så är ungefär som att skriva Response.AddHeader ("pragma"), ("no-cache").
I VB/VBScript använder man inte paranteser för att anropa en sub.

Sen så är Response.End helt onödig. Response.Redirect avslutar automatiskt exekveringen av sidan.

doggelitoMedlem sedan juni 20003 076 inlägg
#10

Erik Juhlin skrev:

I VB/VBScript använder man inte paranteser för att anropa en sub.

Så klart man ska! Ska man någon gång byta till asp.net, där man måste använda paranteser så kan man väl lika bra lära sig att använda dem redan nu.

Erik Juhlin skrev:

Sen så är Response.End helt onödig. Response.Redirect avslutar automatiskt exekveringen av sidan.

precis vad jag skriver ovan också!
min tanke med response.end() var att använda den ur symbolisk synvinkel men vid närmare eftertanke så:
varför skriva nånting som är onödigt! :)

129 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)