Hola
cgonzaleca. Cuando crees controles dinámicamente es bueno asignarles su "nombre" para que al momento de buscarlos puedas hallarlos facilmente :
Código C:
Ver originalfor (int i=1; i<=numtexts; i++) {
TextBox mecanicos = new TextBox();
mecanicos.Name = "btnMecanico" + i.toString();
mecanicos.Text = (i).ToString();
mecanicos.ID = (i).ToString();
mecanicos.Columns = 10;
Panel1.Controls.Add(mecanicos);
Panel1.Controls.Add(new LiteralControl("<br />"));
}
con el .Name agregado es fácil hallarlo, ahora otro error aquí en esta línea :
Código C:
Ver originalTextBox TempTextBox = (TextBox)Panel1.FindControl("mecanicos");
"mecanicos" es el nombre del objeto control mas no del boton. Con el Name asignado anteriormente lo puedes encontrar :
Código C:
Ver originalprotected void btnSubir_Click(object sender, EventArgs e)
{
//Aqui ya le pones btnMecanico2,3,4,5,.... el numero que quieras siempre
//y cuando exista, de lo contrario te saldrá error.
TextBox TempTextBox = (TextBox)Panel1.FindControl("btnMecanico1");
Message.Text = TempTextBox.Text;
}
Espero te haya solucionado tu problema. Saludos!

.