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 :

Collection des controls dans une page


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Points : 155
    Points
    155
    Par défaut Collection des controls dans une page
    Bonjour ...
    j'essaye de monter une fonction pour parcourir tous les controls de ma page web (En fait une fonction valable pour toute mes pages web) afin de paramétrer dynamiquement des propriétés.

    Voici :
    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
     
     
       private void MiseEnFormeFonds(ControlCollection Controls)
        {
            foreach (Control Ctrl in Controls)
            {
                if (Ctrl is TextBox)
                {
     
                    Ctrl.Attributes.Add("onmouseover", "this.style.color='" + ChaineEntree + "'");
                    Ctrl.Attributes.Add("onmouseout", "this.style.color='" + ChaineSortie + "'");
                }
     
                else
                {
                    if (Ctrl.HasControls())
                    {
                        MiseEnFormeFonds(Ctrl.Controls);
                    }
                }
            }
        }

    cette partie de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
                    Ctrl.Attributes.Add("onmouseover", "this.style.color='" + ChaineEntree + "'");
                    Ctrl.Attributes.Add("onmouseout", "this.style.color='" + ChaineSortie + "'");
    ne passe pas ...qqn peut me dire pourquoi et me mettre sur la piste ?

    le message d'erreur est le suivant :

    'System.Web.UI.Control' ne contient pas une définition pour 'Attributes' et aucune méthode d'extension 'Attributes' acceptant un premier argument de type 'System.Web.UI.Control' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?)
    et je ne comprend pas pourquoi ....


    merci


    Patrick

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    Ton code ne passe pas simplement parce que l'objet Controls n'a pas de membre Attributes. Tu as d'ailleurs dû taper ça tout seul parce que l'intellisense de VS ne te l'aura pas proposé.

    Qui plus est, boucler sur les contrôles d'une page ne me paraît pas être particulièrement économique en terme de ressources.

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu dois caster Ctrl en TextBox

  4. #4
    Membre actif Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Tu dois caster Ctrl en TextBox
    Et ça marchera.

    Cependant si tu as du temps,je te conseillerais plutôt de te renseigner sur l'utilisation des fichiers skin, qui te permettront de définir des styles pour des contrôles.

    Ensuite tu auras juste à affecter (par code si tu veux) à la propriété SkinID de ton contrôle la clé du skin que tu veux utiliser.

    L'intérêt étant de séparer le design de ton code. cad si tu veux changer ton style, tu pourra juste modifier le fichier skin sans changer le code.

Discussions similaires

  1. [des panneaux dans une page web] que choisir ?
    Par oursblanc dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 02/12/2005, 11h02
  2. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18
  3. Positionner des cellules dans une page
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/10/2005, 10h25
  4. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44
  5. [C#] Récupération des contrôles d'une page
    Par corback dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/05/2005, 10h08

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