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 :

[C#] Comment cacher un div après x secondes


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut [C#] Comment cacher un div après x secondes
    Bonjour,

    je suis sur une webform en c#.
    J'ai une page web qui contient une liste. Cette liste est rafraichie toutes les 30 secondes.
    Si lors du rafraichissement j'ai une nouvelle donnée, je dois afficher une fenêtre modale indiquant qu'il y a eu une nouveauté.
    J'utilise donc une div avec un extender de type modal.

    Ma dernière contrainte et que la fenêtre se ferme toute seule au bout de 5 secondes.
    Je ne vois pas trop comment faire.

    Auriez-vous des pistes ?

    Merci d'avance

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,

    Tu peux manipuler ton div en code behind en l'ajoutant l'attribut runat="server" et Id="tondDiv" dans ta page aspx.

    a+

  3. #3
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Oui oui ça je sais bien. En plus je me suis planté c'est pas un div c'est un asp:panel.

    En code-behind, je sais le faire apparaitre sans souci via la méthode show de l'extender.
    Sauf que j'aimerais pouvoir le faire disparaitre 5 secondes après son apparition. Je ne vois pas comment faire ça

    Merci d'avance

  4. #4
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    J’espère que ta fenêtre modale extender se trouve dans un updatepanel car si c'est le cas j'ai une solution:
    - definit un timer dans l'updatePanel, spécifié la valeur de la propriété Interval pour 5s. En gros tu as:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick">
    - ensuite dans le gestionnaire d'evenement Timer1_Tick dans le code behind, tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetreModaleExtender.Hide();
    - enfin dans l'updatePanel tu specifie le triggers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>
    .
    Bien sur, avant d'envoyer la page de cote client, tu fais savoir au timer s'il doit se déclencher ou pas (ceci en fonction de l’existence de nouveau items de ta liste).
    Une solution aussi c'est d'utiliser le javascript: tu récupère le div contenant ta fenetre modale extender, tu fait un timer en javascript, apres 5s tu masquera le div en question.

    +

  5. #5
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Avec un petit bout de code javascript, tu peux faire une tempo puis un hide. Comme ca, tout se passe coté client

  6. #6
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Je suis d'accord, le mieux sera de le faire du cote client. suivante une fonction qui peut t'aider a faire disparaître ta fenêtre modal extender:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function closeModal{
      $find('ID_detaFenetreModale').Hide();
    }

  7. #7
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    @Ramajb : merci ça marche impeccable avec le timer

    @hwoarang & Ramajb : faire une fonction qui va fermer coté js ça va mais c'est comment lancer le timer à l'apparition de mon div qui me gêne

    NB : J'ai aussi une solution avec un window.open qui fonctionne pas trop mal.

  8. #8
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Si tout va correctement, merci de mettre le topic "resolu"

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

Discussions similaires

  1. Afficher une DIV après chargement du document ?
    Par tjoce05 dans le forum jQuery
    Réponses: 3
    Dernier message: 23/03/2015, 16h27
  2. Cacher div après 7 secondes
    Par Anonyme1784 dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 10/12/2013, 21h36
  3. Comment cacher le div de mon formulaire pendant le téléchargement ?
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/06/2009, 15h02
  4. [TASM] Comment afficher un message après 5 secondes ?
    Par S.H dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 26/08/2008, 15h59
  5. Comment positionner un div après 3 lignes de texte?
    Par skeut dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 17/03/2008, 20h47

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