2010-08-17 4 views
0

J'ai dynamiquement généré un bouton et son événement aussi. Maintenant, vous voulez accéder à une zone de texte (générée dynamiquement) dans l'événement onClick du bouton. Comment puis-je faire cela?Contrôles dynamiquement

+1

'Comment' le bouton est-il généré? Le codez-vous et l'ajoutez-vous à la page ou est-il généré dans un contrôle de modèle (par exemple, GridView)? – Mantorok

+0

Ajoutez-le à la page. – Swathi

Répondre

0

Vous pouvez déclarer une portée de classe et l'utiliser dans votre événement bouton Händeler:

class MyClass 
{ 
    TextBox txtBox = null; 

    private void MyMethod() 
    { 
     var btn = new Button(); 
     btn.Click += MyBtnEventHandler 
     ... 
     txtBox = new TextBox(); 
    } 

    protected void MyBtnEventHandler(object sender, .....) 
    { 
     if(txtBox != null) var data = txtBox.Text; 
    } 
} 
+0

C'est mon problème. Je ne suis pas en mesure d'accéder à txtBox dans MyBtnEventHandler. – Swathi

0

Si vous ajoutez zone de texte dynamique la page en utilisant Page.Controls.Add() ou this.Controls.Add() alors avez-vous essayé en utilisant Page.FindControl(textBoxId) dans l'événement OnClick bouton? Vous devez définir l'ID de la zone de texte dynamique lors de son ajout pendant l'exécution.

Questions connexes