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

Développement Web avec .NET Discussion :

Trouver plusieurs CheckBox dans une page avec une boucle


Sujet :

Développement Web avec .NET

  1. #1
    Membre régulier Avatar de Stephane_br
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 83
    Points
    83
    Par défaut Trouver plusieurs CheckBox dans une page avec une boucle
    Bonjour,

    Voilà, en fait, j'ai tout un tas de CheckBox sur ma page (il y en a beaucoup) dans un panel avec de l'Ajax.
    Je cherche un moyen de mettre l'attribut enable="false" à tous les CheckBox de ma page à partir du code behind et de l'Ajax.
    Dans un souci de maintenance de ma page, je voudrais ne pas avoir un code trop long et lourd à modifier à chaque fois que je rajoute un nouveau CheckBox sur la page.

    Une boucle me permettant de tous les trouver et de pouvoir leur rajouter enable="false" serait l'idéal.
    Mais je ne vois pas comment faire ça dans le code behind.

    Il me faudrait quelque chose du genre : Dim myCheckBox As CheckBox= CType(Page.Master.FindControl("ContentPlaceHolder1").FindControl("xxxx"), CheckBox)
    Mais au lieu de l'appeler par le nom, il me faudrait le moyen de l'appeler par {0}, {1}, {2}, etc....

    Est-ce possible ?

    Merci par avance.

  2. #2
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Et en javascript ?

    Sinon tu te fais une petite méthode qui parcourt les controls et les controls enfants de ceux-ci (avec récursivité), qui vérifie si c'est un control de type checkbox (genre if(control is checkbox) et effectue le changement le cas échéant.

    Cdt
    Christophe B.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Points : 129
    Points
    129
    Par défaut
    Essaye avec cela en adaptant pour ton cas:

    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
    protected void PatchMLTextBox(Control parent)
            {
                foreach (Control c in parent.Controls)
                {
                    if (c.HasControls()) PatchMLTextBox(c);
                    if (c is TextBox)
                    {
                        //NbMultilineTextBox++;
     
                        if (((TextBox)c).TextMode == TextBoxMode.MultiLine)
                        {
                            if (((TextBox)c).MaxLength > 0)
                            {
                                // Ajout en dur de la propriété MaxLength car ASP.NET le vire dans ce cas là
                                ((TextBox)c).Attributes.Add("MaxLength", ((TextBox)c).MaxLength.ToString());
                            }
                            else
                            {
                                ((TextBox)c).Attributes.Add("MaxLength", "500");
                            }
     
                            // Ajout des evenements à intercepter pour verifier les longueurs
                            ((TextBox)c).Attributes.Add("onkeypress", "return verifyMaxLengthOnKey(this);");
                            ((TextBox)c).Attributes.Add("onpaste", "return verifyMaxLengthOnPaste(this);");
                            ((TextBox)c).Attributes.Add("ondrop", "return verifyMaxLengthOnDragDrop(this);");
                        }
                    }
                }
            }

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 10
    Dernier message: 26/06/2011, 10h15
  3. Trouver un nombre dans un tableau avec une fonction
    Par neufrdb dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 27/03/2011, 16h33
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Réponses: 13
    Dernier message: 16/04/2004, 12h00

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