2010-11-28 28 views
0

Je travaille avec un site Web écrit dans aspx.net sur vb. J'ai un placeHolder, et je crée une table de noms à l'intérieur de ce PlaceHolder, chaque nom a un HtmlInputCheckBox à côté de lui. Je fais cela dans le fichier aspx.vb, lorsque la page est en train de télécharger. Ensuite, quand l'utilisateur veut envoyer un mail, il appuie sur un bouton et que j'ai besoin d'accéder aux cases à cocher, et j'ai des problèmes avec ça, le Sub ne connait pas l'objet checkBox.accéder à HtmlTable dans un placeHolder

Je voudrais de l'aide, Merci!

Répondre

0

Je comprends que vous créez ces cases de manière dynamique?

Dans ce cas, les en tant que membre global de la classe, façon la plus simple est d'avoir Liste d'entre eux:

List<HtmlInputCheckBox> arrCheckboxes = new List<HtmlInputCheckBox>(); 
... 
... 
HtmlInputCheckBox myCheckbox = new HtmlInputCheckBox(); 
arrCheckboxes.Add(myCheckbox); 
... 

C'est C#, mais devrait être facile à traduire en VB - ayant cette toute façon, vous pouvez accéder à la liste et cela devrait fonctionner. Dans le pire des cas, en dernier recours, vous pouvez simplement parcourir toute la collection Request.Form et rechercher des clés dont le nom correspond au nom de la case à cocher.

0

Mettre cela dans la procédure ...

Dim chkValue1 As New CheckBox 
    Dim chkValue2 As New CheckBox 

    'Find the Checkbox Controls in the PlaceHolder and cast them to the checkboxes we just made. 
    chkValue1 = CType(YourPlaceHolder.FindControl("Checkbox1ControlId"), CheckBox) 
    chkValue2 = CType(YourPlaceHolder.FindControl("Checkbox2ControlId"), CheckBox) 

    'Now you can do this... 
    Dim bolIsValue1Checked As Boolean = chkValue1.Checked