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#] commandes qui ne se déroule pas dans le bon ordre


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut [C#] commandes qui ne se déroule pas dans le bon ordre
    Bonjour,

    Ce titre est un peu flou mais le débutant que je suis ne sais pas comment résumer ce problème autrement.

    Tout d'abord, voilà mon code allégé au maximum pour se focaliser sur mon problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // Directives
    using System;
    using System.Web.UI.WebControls;
     
    public partial class _Default : System.Web.UI.Page
    {
    	protected void Page_Load(object sender, EventArgs e)
    	{
    	}
     
        public void Button_cmd(Object sender, CommandEventArgs e)
        {
            // switch de couleur
            if (Test_Popup.BackColor == System.Drawing.ColorTranslator.FromHtml("#F1F1F1"))
                Test_Popup.BackColor = System.Drawing.ColorTranslator.FromHtml("#A60000");
            else
                Test_Popup.BackColor = System.Drawing.ColorTranslator.FromHtml("#F1F1F1");
     
            // sleep
            int compteur = 0;
            while (compteur != 3)
            {
                System.Threading.Thread.Sleep(1000);
                compteur += 1;
            }
        }
    }
    Et mon problème est tout simple:

    Je n'ai pas de changement de couleur AVANT le sleep. Il arrive toujours après, je ne comprends pas pourquoi ça ne s'exécute pas dans l'ordre où c'est écris.

    C'est surement une question de méga débutant et je m'en excuse mais je n'ai pas trouvé la réponse sur le net donc je sors mon petit panneau 'HELP' ici...

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut
    Bonjour,

    tu as essayé d'afficher ta test_popup entre ta condition et ton sleep
    pour visualiser ta popup ?

    car dans ta méthode tu affectes la couleur à ta popup et tu ne l'affiches pas

  3. #3
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Car c'est de l'asp.net !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Citation Envoyé par lerieure Voir le message
    Bonjour,

    tu as essayé d'afficher ta test_popup entre ta condition et ton sleep
    pour visualiser ta popup ?

    car dans ta méthode tu affectes la couleur à ta popup et tu ne l'affiches pas
    Merci pour ta réponse,

    Ma popup est déjà affichée mais tu penses peut-être à une commande en particulier que je pourrais ajouter pour forcer son affichage/refresh?

    J'ai essayé de mettre ma condition (switch de couleur) dans mon while mais ça ne change pas: mon switch de couleur se fait à chaque boucle mais seule la dernière couleur s'affiche. Pendant le while, pas de refresh...

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 61
    Par défaut
    Salut, c'est tout à fait logique,
    quand tu cliques sur le bouton ta page est envoyée au serveur pour effectuer ton traitement et ce n'est qu'à la fin du traitement (Button_cmd) que la page va être rechargée et les modifications prendront place.

    peux tu expliquer ce que tu veux faire exactement ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Citation Envoyé par ilya-bhn Voir le message
    Salut, c'est tout à fait logique,
    quand tu cliques sur le bouton ta page est envoyée au serveur pour effectuer ton traitement et ce n'est qu'à la fin du traitement (Button_cmd) que la page va être rechargée et les modifications prendront place.

    peux tu expliquer ce que tu veux faire exactement ?
    Bonjour ilya-bhn,

    J'aimerais que mon switch de couleur s'exécute ET s'affiche avant que je n'entre dans ma boucle.

    Merci

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    il faut que tu fasse le changement de couleur en javascript comme ça le changement de couleur s’exécute immédiatement au click sur le bouton

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    il faut que tu fasse le changement de couleur en javascript comme ça le changement de couleur s’exécute immédiatement au click sur le bouton
    J'y ai pensé mais j'aimerais évité le javascript.

  9. #9
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    il faut que tu fasse le changement de couleur en javascript comme ça le changement de couleur s’exécute immédiatement au click sur le bouton
    Pour être plus précis, tu fais de l'asp.net là. Donc ton code C# va s'exécuter coté serveur. La page sera retournée qu'à la fin de l'exécution du code du bouton (donc tu ne verras que la dernière couleur).

    Il faut donc exécuter le code coté client et là comme dit, ça va être du javascript.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Pour être plus précis, tu fais de l'asp.net là. Donc ton code C# va s'exécuter coté serveur. La page sera retournée qu'à la fin de l'exécution du code du bouton (donc tu ne verras que la dernière couleur).

    Il faut donc exécuter le code coté client et là comme dit, ça va être du javascript.
    Arf... J'imagine que c'est une problématique récurrente de l'ASP.NET donc il y a peut être une solution de contournement non?

    Ou alors avec un module AJAX?

  11. #11
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    je sais que l'utilisation du javascript est rebutante mais bon c'est un passage obliger en asp surtout pour faire des modifications d'interface instantanées (j'ai dû passé par là moi aussi )

Discussions similaires

  1. lesaffichages ne se font pas dans le bon ordre
    Par xokami35x dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 18/08/2008, 13h00
  2. Macro qui ne s'exécute pas dans formulaire
    Par picatchou dans le forum Access
    Réponses: 10
    Dernier message: 18/09/2006, 17h27
  3. Page PHP qui ne s'affiche pas dans le site
    Par cyberdevelopment dans le forum Langage
    Réponses: 2
    Dernier message: 11/08/2006, 11h49
  4. excel: colonne qui ne s'affiche pas dans une liste
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 18h12
  5. Champs qui ne s'affichent pas dans formulaire
    Par capitaine dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 15h00

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