3
Answers

How to read value of control added to asp.net table cell

Photo of John O Donnell

John O Donnell

21y
23.8k
1
Heres one that i cant resolve Assume I create a table on a web form programatically. In one cell on the form I add a checkbox control. This is all fine. Now i want to push a button and retrieve whether the checkbox is checked or not. I cannot find a way to read the value of the check box? Note i added the checkbox using this code cell3.Controls.Add(checkbox); all good but now when doing a foreach through the tables rows and columns i know column three has a checkbox...just cannot find a way to reference it?

Answers (3)

0
Photo of tsuman_in
NA 152 0 21y
Just so you know, you should never loop through to build strings, they are immutable and this gets very costly. Use: StringBuilder sb = new StringBuilder(); foreach(Control co in r.Cells[2].Controls) { if (co.GetType() == typeof(Checkbox)) sb.Append((Checkbox)co).Checked.ToString()+"\n"; } string output = sb.ToString();
0
Photo of thed0ct0r
NA 48 0 21y
foreach(Control co in r.Cells[2].Controls) { if (co.GetType().Name.ToString() == "Checkbox") TextBox1.Text+= ((Checkbox)co).Checked.ToString()+"\n"; }
0
Photo of John O Donnell
NA 3.5k 1.4m 21y
Always the same...you post a question then work it out!! the answer was to use the uniqueid of the control and then use findcontrol to return it. Also needed to cast the control etc. now it all works and heres the code foreach(Control co in r.Cells[2].Controls) { CheckBox cb=(CheckBox)this.FindControl(co.UniqueID); TextBox1.Text=TextBox1.Text+cb.Checked.ToString()+"\n"; }