webForumDet fria alternativet

Redirect efter redirecten?

ASP

7 svar · 242 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

I en download räknare som jag har, skickas man vidare till filen när man klickar på en länk som går till sidan som räknar antalet nerladdningar (satan vilken mening, jaja). Men då när man laddat ner filen så visas bara en vit sida, detta eftersom den förra länken pekade på en zip fil. Hur ska jag göra om jag vill ha två Response.Redirect efter varandra? Alltså den första till filen, och sedan en tillbaka till sidan man kom från..?

Medlem sedan juni 200032 967 inlägg
#2

Du får använda javascript för att kasta upp zip-filen till ett nytt fönster, därefter göra redirect i huvudfönstret, lämpligen med javascript också där. ;)

Något sånt här borde räcka:

<script>
window.open('<%=strFileName%>');
location.href='annanfil.asp';
</script>

Mvh,

Medlem sedan mars 20025 907 inlägg
#3

Du ska nog köra på @nders lösning, men här kommer ett till förslag!

listafiler.asp (den med länkar och skit):

<html>
<body>
<a href="count.asp?downloadid=15">Ladda ner fil 15</a>
<%
if request.querystring("download") ="yes" then
fil = request.querystring("fil")
Response.redirect fil
end if
%>
</body>
</html>

count.asp (filen som räknar antalet hitz):

<%
kod som räknar antalet träffar
...
fil = "fil-15.zip"
Response.redirect "listafiler.asp?download=yes&fil" & fil
%>

Kanske skulle tilläga att jag inte har en aning om den funkar, men tycker att den borde göra det! :D

Medlem sedan feb. 2001390 inlägg
#4

följdfråga: den metoden du hänvisar till, @nders, den fungerar väll inte om man har en "pop-up" killer?
förresten, denna länk kanske kan hjälpa dig :q

http://www.asp101.com/samples/download_sample.asp

Medlem sedan mars 20025 907 inlägg
#5

Ojdå....min funkar visst inte så bra. Skit i den helt enkelt! :r

Medlem sedan feb. 2001390 inlägg
#6
Response.redirect "listafiler.asp?download=yes&fil[b]=[/b]" & fil
Medlem sedan mars 20025 907 inlägg
#7

Den här funkar nog bättre!
listafiler.asp

<html>
<head>
<% if request.querystring("download") = "yes" then
fil = request.querystring("fil")%>

<SCRIPT LANGUAGE="JavaScript">
<!--
meta_time=500
//Ovanstående rad gör så att scriptet väntar 0,5s innan filen laddas (för att hela sidan ska hinna laddas in innan scriptet körs)
page="<%=fil%>"
function meta()
{
self.location=page
}
setTimeout("meta()",meta_time)
//-->
</SCRIPT>
<% end if%>
</head>
<body bgcolor="#C2C287" text="#000000" id="all" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" link="#660000" vlink="#660000" alink="#660000">
<a href="count.asp?fil=15">Ladda ner fil 15</a>
bla bla bla
</body></html>

count.asp

<%
kod som räknar antalet träffar
...
fil = "fil-15.zip"
Response.redirect "listafiler.asp?download=yes&fil=" & fil
%>
Medlem sedan feb. 2001390 inlägg
#8

och glöm inte Response.Buffer=TRUE på count.asp

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)