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 :

Comment désactiver toutes les textboxs d'une page ?


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 98
    Points : 54
    Points
    54
    Par défaut Comment désactiver toutes les textboxs d'une page ?
    Bonjour,
    Afin de faire un mode "visualisation" d'une page, je souhaiterais désactiver toutes les textboxs de cette page (Textbox.enabled = false donc).

    J'ai essayé avec ca, mais ca ne marche pas... (aucun Controls "trouvé", la ligne ConText.enabled = false ne s'execute jamais) :

    For Each ConText As TextBox In Me.Page.Master.Controls
    ConText.Enabled = False
    Next

    J'avais un moyen de désactiver un control précis (avec son nom) en utilisant FindControl mais il doit être possible de faire plus simple (recherche les texboxs avec leur nom ce qui perd alors tout intérêt) en désactivant toutes les textbox de la page...

    Comment faire ?

    Par avance, merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    je te conseil de faire du recursif pour parcourir tout les controles de ta page. Tu peux faire un truc du genre :

    private sub MaFonction(ctrl as Control)
    For Each ConText As Control In ctrl.Controls
    If ConText.Controls.count > 0 then
    MaFonction(ConText)
    else
    if ConText.GetType Is GetType(TextBox) then
    ConText.enabled = false
    End If
    Next
    Bien sur, tu appelles cette fonction en passant Me.Page.Master.Controls.
    et normalement ca devrait fonctionner.
    voila, tiens moi au courant.
    Kenavo

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 98
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par dudule Voir le message
    Bonjour,

    je te conseil de faire du recursif pour parcourir tout les controles de ta page. Tu peux faire un truc du genre :


    Bien sur, tu appelles cette fonction en passant Me.Page.Master.Controls.
    et normalement ca devrait fonctionner.
    voila, tiens moi au courant.
    Kenavo
    Je viens enfin d'avoir le temps d'essayer et j'ai plusieurs problèmes :
    - ConText.Enabled = False -> Enables is not a member of System.web.UI.Control ; j'ai donc déclarer (dans le each) ConText comme TextBox au lieu de Control
    - MaFonction(Me.Page.Master.Controls) -> value of type System.WEB.UI.ControlCollection cannot be converting to System.WEB.UI.Control : la je ne sais pas quoi faire...

    Sinon, est-ce vraiment nécessaire de faire du recursif ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par harry25 Voir le message
    ConText.Enabled = False -> Enables is not a member of System.web.UI.Control ; j'ai donc déclarer (dans le each) ConText comme TextBox au lieu de Control
    Il faut juste que tu cast ton context en textbox au moment de le desactivé
    Ctype(Context, TextBox).enabled = false
    Citation Envoyé par harry25 Voir le message
    - MaFonction(Me.Page.Master.Controls) -> value of type System.WEB.UI.ControlCollection cannot be converting to System.WEB.UI.Control : la je ne sais pas quoi faire...

    Sinon, est-ce vraiment nécessaire de faire du recursif ?
    Pour ca, il faut juste qu'au moment au tu appelles la fonction maFonction, tu fasses la meme boucle que pour Context mais avec Me.Page.Master.Controls
    For each ctrl as Control in Me.Page.Master.Controls
    MaFonction(ctrl)
    Next
    Et sinon si tu sais ou se trouve ton controle tu n'as pas besoin de récursif, mais ca permet de balayer tout les controles de ta page.
    voila.
    bonne journée.
    kenavo

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 98
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par dudule Voir le message
    Il faut juste que tu cast ton context en textbox au moment de le desactivé



    Pour ca, il faut juste qu'au moment au tu appelles la fonction maFonction, tu fasses la meme boucle que pour Context mais avec Me.Page.Master.Controls

    Et sinon si tu sais ou se trouve ton controle tu n'as pas besoin de récursif, mais ca permet de balayer tout les controles de ta page.
    voila.
    bonne journée.
    kenavo
    Ca marche merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/08/2006, 19h23
  2. [debutant] lister tout les mots d'une page web!
    Par kriskikout dans le forum Web
    Réponses: 20
    Dernier message: 31/05/2006, 22h47
  3. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36

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