IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.Net] Refresh intempestif de la page


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut [VB.Net] Refresh intempestif de la page
    Bonjour à tous,

    j'ai une page qui ouvre un pop-up lorsque je clique sur un bouton précis.
    Dans le page_Load de cette page, je lance une requete sql qui renvoie un résultat assez conséquent . J'affiche également deux boutons(imprimer et fermer). Cependant lorsqueje clique sur l'un de ces boutons, il me relance la requête malgré le fait que celle ci soit encapsulée dans la clause "if not page.ispostback" du page_load. Du coup, l'utilisateur doit attendre plus d'une minute avant que la fenetre ne se ferme ou que le pop up d'impression apparaisse.

    Je ne vois pas d'où cela peut provenir, quelqu'un a-t-il une idée?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    On peut voir un bout de code?

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    En gros ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private sub Page_Load (...)
     
    maRequeteSql
     
    end sub
     
    Private Sub btnFermer_Click(...)
    Response.Write("<SCRIPT language=""Javascript"">Window.close()</SCRIPT>")
    end sub
     
    Private Sub btnImprimer_Click(...)
    Response.write("<SCRIPT language=""Javascript"">window.close()</SCRIPT>")
    end sub

    En fait, en mettant des response.Write dans le page Load, je me rend compte qu'il ne passe pas dedans quand je clique sur l'un des deux boutons. Néanmoins, il met beaucoup de temps à refermer la page ou à afficher le pop up d'impression. QUe se passe-t-il durant tout ce temps?

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Pourquoi tu gères tes boutons Fermer et Imprimer en code behind?
    Tu peux pas le faire directement dans la partie html?

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    En fait je touche à rien en HTML, mais si ça évite de ralentir le truc pourquoi ne pas faire une exception. Je vais voir si le problème persiste.

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    J'ai trouvé d'où vient le problème : le viewstate est énorme du fait de la très très grande taille de la page!

    Si je mets enableviewstate à false, le problème est presque réglé. Presque car si je veux imprimer, je clique sur le bouton mais je perds tout l'affichage de mon literal (pour la fermeture ça ne pose évidemment pas de problème).

    Par contre si j'utilise des boutons HTML simples avec des onClick='window.print();' ou onClick='window.close()' ça marche exactement comme je le souhaite. Mais là il se pose un autre petit problème. Mes boutons initiaux étaient des imageButton, comment faire pour avoir l'équivalent simplement en HTML?

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu fais un lien html classique, tu mets une image entre les balises <a> et </a> et tu mets ton javascript dans l'evenement onCLick du lien

  8. #8
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    Nickel tout est résolu!

    Merci beaucoup, je n'ai plus qu'à modifier l'icone lorsque je survole l'image.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.Net]gérer la notion de "page périmée" ?
    Par VVE dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/06/2005, 12h26
  2. [VB.NET] Comment revenir à la page précédente?
    Par le lynx dans le forum ASP.NET
    Réponses: 7
    Dernier message: 12/04/2005, 09h42
  3. [CR & VB.NET] Pb impression pied de page
    Par arno2000 dans le forum SDK
    Réponses: 2
    Dernier message: 07/03/2005, 09h13
  4. [CR.NET] affichage de toute les pages de l'état
    Par HULK dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/01/2005, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo