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 :

Acceder aux controls (Textbox et Button) dans une page .aspx


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut Acceder aux controls (Textbox et Button) dans une page .aspx
    Bonjour, j'ai une tres grande page avec 3 Panel, et sur chaque Panel, j'ai beaucoup de textbox et buttons.
    Et en plus pour cette page j'ai une MasterPage

    j'ai un systeme des droits d'acces, donc pour un profil seulement en lecture je voudrais mettre pous mes texbox en ReadOnly = true.

    Il y en a vraiement beaucoup, (plus de 50)

    je pensais d'écrire qch comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach (Control c in Page.Controls)
             {
                        if (c is TextBox)
                        {
                            TextBox txt= (TextBox)c;
                            txt.ReadOnly = true;
                        }
               }
    Mais ca ne marche pas, je suppose à cause de panel ou de MasterPage?

    Quand je parcoure avec un debugger, dans la collection de controls de la page j'ai un seul control (ma Masterpage )

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Ne parcours pas ta page , mais les panels dans les quels se trouvent tes controls.


    bonne continuation a+

  3. #3
    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
    Points : 3 543
    Points
    3 543
    Par défaut
    C'est tout à fait normal car les contrôles sont dans une arborescence et la collection Controls d'un Control ne parcourt que ses enfants et pas sa descendance..

    Pour que cela fonctionne il faut que tu parcours cette arborescence de façon récursive, ou comme le dit hotsizzle, si ta structure est fixe, effectuer le parcours à partir des panels comme point d'entrée.

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Je rejoins les réponses précédentes sur le parcours d'une hiérarchie de Controls.

    En plus, je te conseillerais de ne pas parcourir tous les Controls de tes Panels pour tester ensuite si c'est une Textbox ou pas. Mais plutôt utiliser une simple requête Linq du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEnumerable<TextBox> lstTextBoxs = from Control c in MonPanel.Controls where c is Text select (Text)c;
    En espérant t'avoir aidé.

  5. #5
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut
    Nicolas Esprit, Pongten, hotsizzle merci beaucoup pour votre aide si rapide !
    Tout fonctionne

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

Discussions similaires

  1. Controler le format de date dans une page .aspx
    Par Publicnew dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/05/2014, 00h04
  2. Controle utilisable dans une page aspx
    Par lutecefalco dans le forum Silverlight
    Réponses: 7
    Dernier message: 30/06/2010, 22h27
  3. Réponses: 1
    Dernier message: 11/02/2008, 11h40
  4. Réponses: 2
    Dernier message: 22/08/2006, 11h28
  5. [POO] Comment acceder a un objet javascript instancie dans une page mere
    Par herbert dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/07/2006, 19h34

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