Buenas a tod@s.
Tengo una función que me crea dinámicamnete una tabla con una fila y una sola columna y dentro de esta, un control RadioButtonList con una serie de items...
Tal que así :
public HtmlTable tbl_ListadoAplicaciones()
{
HtmlTable tbl = new HtmlTable();
tbl.Width = "400";
tbl.ID = "tblDinamica";
HtmlTableRow rowTodos = new HtmlTableRow();
rowTodos.ID = "idrowTodos";
HtmlTableCell celdaTodos = new HtmlTableCell();
celdaTodos.ID = "idceldaTodos";
celdaTodos.ColSpan = 2;
RadioButtonList rbtList = new RadioButtonList();
rbtList.ID = "idrbtList";
rbtList.Attributes.Add("class","texto");
ListItem itemTodos = new ListItem();
itemTodos.Selected = true;
itemTodos.Value = "0";
itemTodos.Text = "item";
rbtList.Items.Add(itemTodos);
ListItem itemTodos2 = new ListItem();
itemTodos2.Value = "12";
itemTodos2.Text = "otro item";
rbtList.Items.Add(itemTodos2);
celdaTodos.Controls.Add(rbtList);
rowTodos.Cells.Add(celdaTodos);
tbl.Rows.Add(rowTodos);
return tbl;
}
Hasta aquí, sin problema.
Instancio la función desde mi aplicación y me muestra la tabla perfectamente dentro de mi codigo.
El problema es que necesito saber el item seleccionado del RadioButtonList en el evento clic de un botón pero no logro acceder al objeto (idrbtList) .
En teoria recorro los controles de la pagina. Codigo :
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
foreach (Control c in Page.Controls)
{
if (c.Controls.Count > 0)
{
foreach(Control c2 in c.Controls)
{
if (c2.GetType().ToString() == "System.Web.UI.WebControls.RadioButtonList")
{
RadioButtonList rbtBlst = (RadioButtonList)c2;
sIndice = rbtBlst.SelectedValue;
}
}
}
... Alguna ayuda, idea , sugerencia ?
Gracias anticipadas. Un saludo.