Pop-up qui ne s'affiche pas

Résolu
FLIron Messages postés 2 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 13 octobre 2006 - 11 oct. 2006 à 18:20
FLIron Messages postés 2 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 13 octobre 2006 - 13 oct. 2006 à 11:50
Salut à tous,

Je rencontre le problème suivant : j'ai une webform dans laquelle pas mal d'opérations sont faites (interrogations de plusieurs bases de données, traitement d'images notamment) avant son affichage.
Je voudrais donc afficher une petite pop-up contenant une image style "Chargement en cours".

J'ai donc inséré le code suivant au tout début du Page_Load :

        Dim url As String = "Chargement.aspx"
        Dim largeur As Integer = 150
        Dim hauteur As Integer = 50
        Dim x As Integer = 200
        Dim y As Integer = 200
        Dim strScript As String = "<script>window.open(""" & url & """,""_blank"",""width=" & largeur & ",height=" & hauteur & ",top=" & x & ",left=" & y & """);</script>"

       Page.RegisterStartupScript("clientScript", strScript)

Ensuite arrive le code du traitement assez long.

Mon souci, c'est que la pop-up ne s'affiche pas dès le début, mais seulement à la fin du traitement, en même temps que ma webform. Donc en gros elle ne sert à rien.

J'ai essayé de mettre ce javascript dans Page_Init et Page_PreRender, mais ça ne marche pas non plus.
En mettant un point d'arrêt, l'exécution passe bien par le code du java, mais l'affichage ne suit pas.

J'ai essayé aussi avec Page.RegisterClientScriptBlock à la place de Page.RegisterStartupScript, sans succès.

Si quelqu'un a une idée, ce serait sympa de me dépanner.

Merci !

3 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
13 oct. 2006 à 10:08
re,

c'est normal : tu génères la popup (plus précisément le script pour ouvrir la popup) et ensuite tu fais le traitement... mais tout cela du côté serveur.

donc la page est renvoyée uniquement à la fin de son traitement... donc la popup ne s'ouvre qu'à ce moment (script client).
1/ génération du script pour ouvirir la popup
2/ long traitement
3/ retour au client
4/ exécution du script pour ouvrir la popup.

Essaye plutôt de mettre ton long traitement dans la popup:

1/ ton user click sur la page pour lancer le traitement
2/ le click ouvre (en javascript) une popup
3/ la popup affiche "Traitement en cours" et se relance pour exécuter le long traitement.
4/ une fois le traitement terminé, la popup affiche "Traitement terminé" ou autre.

yopyop
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 oct. 2006 à 23:28
Salut

Regardes du coté de Ajax,
et si tu es en 2005 Atlas, tu as toute la gestion qui est présente.

www.asp.net
rubriques ajax

tu as des videos et companies
0
FLIron Messages postés 2 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 13 octobre 2006
13 oct. 2006 à 11:50
Merci pour ta réponse, c'est exactement ce qu'il me fallait !

Well done !
0
Rejoignez-nous