webForumDet fria alternativet

Response.Redirect

14 svar · 216 visningar · startad av PlayerOne

PlayerOneMedlem sedan maj 200062 inlägg
#1

Kan man ställa in en tidsfördröjning i Response.Redirect, typ som man kan i metataggen refresh?

RickiMedlem sedan juni 2000373 inlägg
#2

Vad jag vet så går det inte.

Altenativet skulle vara att skriva en if sats som körs efter x antal sekunder!

------------------
Mvh Rickard
www.ricki.nu

emissionMedlem sedan dec. 19996 721 inlägg
#3

Visst kan du frysa ekeveringen ett par sekunder, men om du vill visa något på sidan, innan man skickas vidare, så går det inte. En redirect kan inte komma efter innehållet på en sida.

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

DellMedlem sedan juli 20006 inlägg
#4

...såvida han inte kör mot en IIS5 server då förståss...

//Dell

emissionMedlem sedan dec. 19996 721 inlägg
#5

Hur kan det gå till?

hawkmanMedlem sedan juni 2000125 inlägg
#6

Man kan göra response.clear och sedan köra response.redirect(url). Då töms HTTP headern:

<%response.buffer=true %>
html här
.
.
.
<%if action="vilkor" then
Response.Clear
response.redirect("url")
end if%>
.
.
.

Jag använder det ganska mycket...

emissionMedlem sedan dec. 19996 721 inlägg
#7

Ja, men det funkar ju i IIS4 också, och ger inte riktigt det resultat som jag tror eftersträvades här.

DellMedlem sedan juli 20006 inlägg
#8

Dessutom; om den nya sidan ligger på samma server så behöver man inte ens cleara headern innan, utan kan använda Server.Transfer eller Server.Execute istället.

Mer info:
http://www.asptoday.com/articles/19990329.htm

//Dell

emissionMedlem sedan dec. 19996 721 inlägg
#9

Jo, men det är ju faktiskt inte riktigt samma sak...

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

DellMedlem sedan juli 20006 inlägg
#10

Vad är det du vill åstakomma då?

//Dell

emissionMedlem sedan dec. 19996 721 inlägg
#11

Det får vi fråga PlayerOne. Jag antog att ha ville ha något i stil med refreshen som kommer efter att man gjort ett inlägg i forumet.

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

DellMedlem sedan juli 20006 inlägg
#12

<script>
location.reload();
</script>

typ..?

//Dell

PlayerOneMedlem sedan maj 200062 inlägg
#13

Så här ser koden ut:

If Connection.Errors.Count=0 Then
Response.Write "<font face='Verdana' Size='2'>Din händelse är inlagd!</strong></font>"
Response.Redirect("default.asp")
End If

Fast då hinner användaren inte läsa "Din händelse är inlagd!" eftersom han blir förflyttad på en gång.
Nu har jag tagit bort redirect och ändrat det till metataggen refresh. Det som jag inte är riktigt nöjd med är att man förflyttas även om inlägget inte lyckas av någon anledning.

bohlinMedlem sedan mars 2000263 inlägg
#14

i head-taggen:
If Connection.Errors.Count=0 Then
response.write "<META blablabal"
End If

och sen...

If Connection.Errors.Count=0 Then
Response.Write "<font face='Verdana' Size='2'>Din händelse är inlagd!</strong></font>"
End If

------------------
/bohlin

PlayerOneMedlem sedan maj 200062 inlägg
#15

Den här koden funkar inte:

<HEAD>
<%	
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "dsnKalender", "sa"

If Connection.Errors.Count=0 Then
Response.Write "<meta http-equiv='Refresh' content='2;url=default.asp'>"
End If
%>
</HEAD>

Jag får inget felmeddelande, men response.write utförs aldrig, det fungerar förmodligen inte inom headtaggarna?

Det funkar däremot om man kör scriptet inom bodytaggarna. Fast då kommer metataggen inte inom headtaggarna, men det kanske inte gör något? Det funkar ju i alla fall

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