2009-04-11 6 views
0

J'ai deux contrôles WebUser qui sont dynamiquement ajoutés au Webform un certain nombre de fois en fonction de l'entrée utilisateur d'une page précédente. Il existe des zones de texte et des listes déroulantes dans le contrôle WebUser. J'ai besoin d'obtenir les valeurs des zones de texte de WebUsercontrol qui sont ajoutées dynamiquement. Comment je fais ça?Contrôle WebUser généré dynamiquement

Répondre

0

Certains psuedocode:

Let the parent container control be ParentContainerControl 

For Each ctl` In ParentContainerControl.Controls 

    If ctl is a TextBox 
     Use ctr.Text 
    End If 

Next 
1

Vous devriez exposer les valeurs de contrôle que les propriétés de votre contrôle utilisateur. Ensuite, vous pouvez parcourir la collection Controls du conteneur.

foreach (Control ctl in container.Controls) 
{ 
    if (ctl is MyUserControl) 
    { 
     MyUserControl uctl = (MyUserControl)ctl; 
     // do something with uctl properties, e.g. 
     string myString = uctl.Address1; 
    } 
} 
+0

Quelle est l'adresse1 donnée ici? –

+0

C'est juste un exemple d'une valeur de zone de texte possible que vous pourriez exposer en tant que propriété. –

0

casting de contrôle utilisateur type pour autant que je sais ne fonctionne que dans Project Web Application, donc il vous reste d'autres options - créer une session ou à la valeur et viewstate partagée entre elle ces contrôles. - créez une classe de base dont ces deux contrôles utilisateur héritent, et dans le calas de base, vous pouvez définir les propriétés que les contrôles doivent traverser. -créer une interface, où ces deux contrôles utilisateur seront implémentés.

espérons que cela aide.

Questions connexes