webForumDet fria alternativet
Logga in / Bli medlem

response.redirect?

ASP

9 svar · 514 visningar · startad av Donatello

Medlem sedan jan. 2005108 inlägg
Trådstart#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.

Medlem 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..

Medlem 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()
...
Medlem sedan jan. 2005108 inlägg
#4

Thanks guys! :birp

*pillar vidare*

Medlem 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

Medlem 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?

Medlem 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.

Medlem 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>")
Medlem 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.

Medlem 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! :)

271 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)