2012-08-14 1 views
0

J'ai un contrôle utilisateur qui contient des cases à cocher. En postback je veux lire l'état des cases à cocher. Là où j'ai des problèmes, je ne sais pas comment appeler un contrôle à l'intérieur d'un contrôle utilisateur.Appel des cases à cocher dans un usercontrol onpostback C#

J'ai beaucoup de fonctionnalités dans chaque usercontrol, c'est pourquoi je l'ai fait de cette façon. J'ai les contrôles qui fonctionnent correctement je ne sais pas comment les identifier dans mon C# sur la publication afin que je puisse ensuite imprimer les résultats quelque part. J'utilise aussi des masterpages et des panneaux de mise à jour. les cases à cocher sont définies sur autopostback.

Répondre

1

Utilisez la méthode FindControl() pour rechercher les contrôles dans le contrôle utilisateur.

CheckBox cb = (CheckBox)userControlID.FindControl("childControlId") 
+0

Je ne peux pas répondre à votre réponse assez rapidement – jackncoke

1

Vous pouvez le faire de deux façons; En premier lieu, vous pouvez rendre les contrôles publics, en leur permettant d'être considérés comme des membres de UserControl depuis l'extérieur. Deuxièmement, la propriété Controls de UserControl est toujours publique et contiendra les CheckBoxes. Vous devrez les rechercher par type et par nom; Linq peut aider:

var checkbox = myControl.Controls.OfType<CheckBox>().FirstOrDefault(chk=>chk.Name == "checkBoxName");