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 :

[C#] Comment accéder à une TextBox qui se trouve dans un Panel ?


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 46
    Points : 29
    Points
    29
    Par défaut [C#] Comment accéder à une TextBox qui se trouve dans un Panel ?
    Bonjour, j'ai une page apsx où j'ai une gridview et des textbox. Mon problème est que dynamiquement, suite à des événements, j'écris dans les textbox. Lorsque je debug, je vois bien qu'il écrit dans le textbox mais à l'affichage rien ne se produit.

    De l'aide SVP.
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 114
    Points : 102
    Points
    102
    Par défaut
    panel.Controls[IdDuControl]

    ou bien panel.FindControl("nomducontrol")

    A tester

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    Merci de ta réponse. Et comment à partir du find control, pourrais -je affecter une valeur au text de ce texbox; genre panelname.findcontrol["textboxname"] = "toto", est-ce possible?

  4. #4
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut
    Comme le dis Teylinor, chaque controle de ta page possède un ID, pour le retourver tu fais simplement un cast, cela donne quelque chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TextBox maText = (TextBox)Page.FindControl("IDdeLaTextboxCherché");
    // maText.text ;)
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    Merci CORBASE,

    Je fais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (TextBox)Page.FindControl("txtCode") = (TextBox)field.CodePiece;
    et j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Impossible de convertir le type 'string' en System.Web.UI.WebControls.TextBox'
    Pourras-tu m'aider STP?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 114
    Points : 102
    Points
    102
    Par défaut
    ((TextBox)Page.FindControl("txtCode")).Text = ((TextBox)field.CodePiece).Text;


    explication

    ici tu retrouve ta textbox
    Page.FindControl("txtCode")

    ici tu cast ta textbox en textbox
    (TextBox)Page.FindControl("txtCode")
    et pour acceder au propriété d'un objet textbox il faut utiliser le tout donc l'ensemble doit etre en parenthese

    ((TextBox)Page.FindControl("txtCode")).touteslespropriétédestextbox

  7. #7
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut
    Ha, à ce moment la tu est obliger de le faire en 2 etape, car tu dois :

    1- Cast l'edit box
    2- mettre la propriété .Text de l'edit box à jour pour lui mettre du texte, cela revient à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TextBox maText = (TextBox)Page.FindControl("txtCode");
    maText.Text = field.CodePiece
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    Merci CORBASE et TELYNOR pour votre aide

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

Discussions similaires

  1. [Lazarus] Comment utiliser une fonction qui se trouve dans une DLL externe ?
    Par [ZiP] dans le forum Lazarus
    Réponses: 2
    Dernier message: 01/12/2012, 01h33
  2. Réponses: 9
    Dernier message: 08/11/2010, 18h12
  3. Réponses: 1
    Dernier message: 09/02/2009, 02h36
  4. Réponses: 10
    Dernier message: 12/09/2008, 11h09
  5. Acceder a une TextBox qui se trouve sur une Autre Form
    Par le_contact dans le forum Windows Forms
    Réponses: 15
    Dernier message: 14/04/2007, 01h10

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