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 :

Clic sur un bouton "inhibé" ?!


Sujet :

ASP.NET

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut Clic sur un bouton "inhibé" ?!
    Bonjour,

    J'ai créé une page comportant deux boutons.
    Si je leur assigne des opérations "bidons", ça fonctionne. Par exemple :
    • au clic sur btn1 :
    • au clic sur btn2 :
    Je peux alterner comme je veux, cliquer dans tous les sens, ça fonctionne toujours.

    Ensuite, j'ai du code plus "sérieux" à leur associer. Quand ce code est exécuté, le deuxième bouton ne fonctionne plus (avec un point d'arrêt en debug, le code n'est pas exécuté). À ce premier bouton, j'ai le code :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
           private void btnAccepter_Click(object sender, System.EventArgs e)
           {
     
            Hashtable __connections = (Hashtable)ConfigurationSettings.GetConfig("user_params");
            IDictionaryEnumerator __enum    =    __connections.GetEnumerator();
            strDepot = __connections["depot"].ToString();
     
            // Création du tableau
            dt = new DataTable();
            // > Création des colonnes
            // > > Nom de fichier
            DataColumn col_fichier = new DataColumn("Nom de fichier");
            col_fichier.DataType = Type.GetType("System.String");
            col_fichier.Caption = "Nom du script";
            // > > Date de création
            DataColumn col_date = new DataColumn("Date de création");
            col_date.DataType = Type.GetType("System.String");
            col_date.Caption = "Date de création";
            // > > Heure de création
            DataColumn col_heure = new DataColumn("Heure de création");
            col_heure.DataType = Type.GetType("System.String");
            col_heure.Caption = "Heure de création";
            // > Ajout des colonnes au tableau
            dt.Columns.Add(col_fichier);
            dt.Columns.Add(col_date);
            dt.Columns.Add(col_heure);
     
            DataRow mRow;
            System.IO.FileInfo fi;
     
            foreach (string strFichier in System.IO.Directory.GetFiles(strDepot,"*.sql"))
            {    
                mRow = dt.NewRow();
                fi = new FileInfo(strFichier);
                mRow[0] = strFichier.Replace(strDepot,"");
                mRow[1] = fi.CreationTime.Date.ToShortDateString();
                mRow[2] = fi.CreationTime.Hour.ToString() 
                    + ":" + fi.CreationTime.Minute.ToString()
                    + ":" + fi.CreationTime.Second.ToString();
                dt.Rows.Add(mRow);
            }
            if (dt.Rows.Count > 0) // Tableau pas vide
            {
                // Pas de message d'erreur
                lblPasFichiers.Visible        = false;
                btnChoix.Visible            = true;
                // Affichage des données
                ds.Tables.Add(dt);
                dg.DataSource = ds;
                dg.DataBind();
            }
            else // Tableau vide
            {
                // Aucun fichier
                lblPasFichiers.Visible        = true;
                btnChoix.Visible            = false;
            }
           }
    Ai-je raté un détail ? Mis un bout de code "bloquant" ?

    Dans ce code, dg est un DataGrid, dt un DataTable et ds un DataSet.

    Merci d'avance !

    Alban

    PS : (pour info) L'objectif final de ce code est de lister les fichiers SQL d'un répertoire pour ensuite permettre leur affichage dans une TextBox (pour vérifier qu'on a bien sélectionné le bon) et enfin le supprimer.

    PPS : si c'est utile de préciser ce petit bout de code :
    Code C# : 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
          private void InitializeComponent()
          /// <summary>
          /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
          /// le contenu de cette méthode avec l'éditeur de code.
          /// </summary>
          {
              this.ds = new System.Data.DataSet();
              ((System.ComponentModel.ISupportInitialize)(this.ds)).BeginInit();
              this.btnAccepter.Click += new System.EventHandler(this.btnAccepter_Click);
              this.btnChoix.Click += new System.EventHandler(this.btnChoix_Click);
              // 
              // ds
              // 
              this.ds.DataSetName = "ds";
              this.ds.Locale = new System.Globalization.CultureInfo("fr-FR");
              this.Load += new System.EventHandler(this.Page_Load);
              ((System.ComponentModel.ISupportInitialize)(this.ds)).EndInit();
     
          }

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    En décommentant le code ligne par ligne, j'ai pu déterminer laquelle posait problème. En fait, il s'agit du remplissage du DataGrid :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ds.Tables.Add(dt);
    dg.DataSource = ds;
    dg.DataBind();
    Plus précisément, uniquement la troisième ligne.

    J'ai comparé le code source de la page ASPX avant et après le clic sur le bouton, et mis à part le ViewState (et le DataGrid rempli), rien n'a changé.

    Ca vous évoque quelque chose ?

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    J'ai honte... j'ai finalement trouvé pourquoi ça ne marchait pas... eeettt... c'est parce que j'avais fixé la propriété METHOD à get au lieu de post. Argh...

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Hmmm.. content d'avoir pu t'aider ;-)


  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut

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

Discussions similaires

  1. Changer la feuille de style a l aide d un clic sur un bouton
    Par jean_bobi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2005, 08h35
  2. pb sur le premier clic sur un bouton
    Par corwin44 dans le forum Access
    Réponses: 6
    Dernier message: 28/10/2005, 09h51
  3. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34

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