Redirection automatique après écoulement d'un timer [Résolu]

vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 8 avril 2005 à 11:54 - Dernière réponse : vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention
- 1 oct. 2009 à 13:26
Bonjour tout le monde.
Alors voila je dois faire une redirection automatique depuis une page sur une autre.
Pour ce faire, j'utilise un Timer.

C'est à dire j'arrive sur ma page.
Au chargement de ma page je démarre le timer.
Dans l'évènement Fin_timer je fais ma redirection.
Mais ca marche pas je comprends pas pourquoi. J'ai l'impression que ça tourne en rond dans le code.

Voilà mon code.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Timer_valid_enr.Start()

End Sub



Private Sub Timer_valid_enr_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer_valid_enr.Elapsed

Me.Timer_valid_enr.Stop()
Me.Response.Redirect("Mapage")

End Sub

Merci d'avance

z.·Z¯`·- ViNZ -·Z¯`·.z
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 8 avril 2005 à 13:19
3
Merci
non ca tourne pas en rond, mais Asp.net tourne en mode deconnecté, une
fois que la requete est finit le serveur ne connait plus le client ...
donc l'event elapsed sera jamais atteint car le page_load sera finit
avant.



Le but du jeu est donc d'utiliser js pour faire ca.

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de jesusonline
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 8 avril 2005 à 14:08
0
Merci
Ben justement si il l'atteint. En tout cas quand je regarde en mode debug pas à pas, j'arrive dans l'évènement Elapsed.

Mais ça me fait comme si la page se rechargeait a cause d'un postback.
Du coup j'ai mis le filtre:


If
Not Page.IsPostBack
Then

Me.Timer_valid_enr.Start()

Me.Timer_valid_enr.AutoReset =
False

End
If

Après 5 secondes (durée de mon Timer) je rentre bien dans l'évènement Elapsed mais mon redirect ne se fait pas. Je ne comprends pas.

Sinon je v aussi regarder avec JavaScript, mais je suis sure qu'on peut le faire avec ASP.NET mais il y un truc qui m'échappe.

Si tu vois quoi dis le moi, et merci pour la réponse.

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 8 avril 2005 à 14:26
0
Merci
non, on peut pas le faire coté asp.net tu peux pas forcer le postback d'une page !!!



Si ton event est appellé c'est que ta fonction dure plus de 5 secondes.



pour le redirect rajoute l attribut false a la fin.



response.redirect("tapage.aspx", false) ca peut marcher, meme si je comprend pas ce que tu fais :p

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Commenter la réponse de jesusonline
bamphi 50 Messages postés mercredi 31 mars 2004Date d'inscription 2 mai 2007 Dernière intervention - 21 déc. 2005 à 18:29
0
Merci
Est-ce possible de réaliser une REDIRECTION AUTOMATIQUE (après qqs secondes)
en ASP3 ou y-a-t'il un script en JS équivalent. Merci pour le code
Bamphi
Commenter la réponse de bamphi
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 22 déc. 2005 à 10:44
0
Merci
Alors finalement j'ai utilisé un code JavaScript que tu intègres dans la partie html de ton form. Je l'ai mis à la fin de ma page après la balise <Form/>



<Script language="JavaScript">
redirect(); //Appel de la fonction

//Code de la Fonction
function redirect(){
setTimeout("document.location = 'Mapage' ,3000); //3000 ms donc 3s
}

<Script/>

Voila bon code!!!!
z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
bamphi 50 Messages postés mercredi 31 mars 2004Date d'inscription 2 mai 2007 Dernière intervention - 22 déc. 2005 à 12:07
0
Merci
Sympa et rapide ! Grand merci
Bamphi
Commenter la réponse de bamphi
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 22 déc. 2005 à 14:14
0
Merci
Oups je viens de me rendre compte que j'ai fais une petite erreur de syntaxe.
La sytaxe correcte est la suivante:

<Script language="JavaScript">
redirect(); //Appel de la fonction

//Code de la Fonction
function redirect(){
setTimeout("document.location = 'Mapage'" ,3000); //3000 ms donc 3s
}
<Script/>

Il manquait la deuxième guillemet pour le premier paramètre de setTimeout.
Voilà bon coding!!!

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
bamphi 50 Messages postés mercredi 31 mars 2004Date d'inscription 2 mai 2007 Dernière intervention - 22 déc. 2005 à 17:54
0
Merci
J'ai mal présenter ma question !

Est-ce possible d'intégrer ton script dans une page html ou asp (mais pas .net)
je travaille en asp3.0 et non en aspx.

Je dois donc rediriger (après qqs secondes) vers la page : index.htm
Merci de tes lumières et conseils

Bamphi
Commenter la réponse de bamphi
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 23 déc. 2005 à 09:08
0
Merci
Ce code marche dans une page html sure, quand à une page asp3.0 je peux pas te dire g directement commencé asp par .NET.et donc si tu veux aller sur la page index.htm il faut écrire ça:

<Script language="JavaScript">
redirect(); //Appel de la fonction

//Code de la Fonction
function redirect(){
setTimeout("document.location = 'index.htm'" ,3000); //3000 ms donc 3s
}
<Script/>

Rajoute ce code a la fin de ta page en html.

Bon coding.

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
bamphi 50 Messages postés mercredi 31 mars 2004Date d'inscription 2 mai 2007 Dernière intervention - 23 déc. 2005 à 12:20
0
Merci
Ci-dessous, le code inséré dans la page et ... ça ne marche pas ! où est
l'erreur ? Merci de tes lumières.

------------------------------------------------------------------------

<html>
<head>
<Script language="JavaScript">
redirect(); //Appel de la fonction
//Code de la Fonction
function redirect(){
setTimeout("document.location = 'index.htm'" ,3000); //3000 ms donc 3s
}
<Script/>
</head>





</html>
Commenter la réponse de bamphi
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 26 déc. 2005 à 14:24
0
Merci
Essaye de mette le code dans la balise BODY moi c'est la que je l'ai mis.
Ensuite dans ta fonction rajoute 2 alertes comme je l'ai mis dans le code.

<Script language="JavaScript">
redirect();
function redirect(){
alert('On rentre dans la focntion');
setTimeout("document.location = 'index.htm'" ,3000);
alert('Tout s est bien passé');
}
<Script/>

- Ces 2 alertes sont comme des message box en VB, elles te permettront de savoir si tu rentres bien dans ta fonction et si le code de ta fonction s'exécute correctement.

- En générale, on définit les variable en javascript dans la partie Head, ensuite on appelle les fonction un peu partout dans le code html. Et les fonctions sont souvent écrites a la fin du code mais dans la balise body (en tout cas d'après ce que j'ai pu voire sur le net car je suis pas un pro du javascript...)

- Ensuite vérifie aussi si ta page s'appelle bien index.htm et pas index.html par exemple.

- De mon côté je viens de tester ce code sur une page html et il marche. Il faut faire attention aussi que ta page qui contient ce code soit dans le même repertoire que la page index.htm, si elle est dans un autre dossier, il faut lui spécifier le chemin (ex : MonAutreDossier/index.htm).

Voila en espérant que mes explications te résulteront clair.
Bon coding

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
bamphi 50 Messages postés mercredi 31 mars 2004Date d'inscription 2 mai 2007 Dernière intervention - 26 déc. 2005 à 18:51
0
Merci
OK et encore merci ... en espérant pourvoir un jour te renvoyer la balle
en vb6 ou asp
Cordialement
Bamphi
Commenter la réponse de bamphi
cs_lennynero58 12 Messages postés jeudi 22 février 2007Date d'inscription 9 octobre 2009 Dernière intervention - 1 oct. 2009 à 12:38
0
Merci
lennynero58
Bjr vmasson

Je suis novice et j'ai intégré ton code dans une page intitulée envoimail.php qui s'ouvre après envoi d'un formulaire sur mon adresse mail.
Dans ton code j'ai mis l'adresse de la page d'accueil index.php mais quand je teste en ligne pas de redirection?
j'ai mis ton code à la fin de ma page sur http://www.jlm-creaweb.fr/envoimail.php
meric à toi si tu peux m'aider.

cordialement lenny
Commenter la réponse de cs_lennynero58
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 1 oct. 2009 à 13:22
0
Merci
Salut, quand je vais voir ta page http://www.jlm-creaweb.fr/envoimail.php je suis bien redirigé au bout de 5 secondes sur http://www.jlm-creaweb.fr/.

J'ai testé sous IE8 et Firefox...

Ou est le problème ??

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson
vmasson 26 Messages postés mercredi 10 septembre 2003Date d'inscription 1 octobre 2009 Dernière intervention - 1 oct. 2009 à 13:26
0
Merci
Autant pour moi, je viens de voir que tu utilises la méthode Refresh(). C'est une autre alternative.

Ah ce compte là, il peut être sympa d'en faire profiter tout le monde, et de nous éviter de passer du temps sur des problèmes résolus.

@+

z.·Z¯`·- ViNZ -·Z¯`·.z
Commenter la réponse de vmasson

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.