Foros del Web » Programando para Internet » ASPX (.net) »

Aplicar acción a varios controles del mismo tipo

Estas en el tema de Aplicar acción a varios controles del mismo tipo en el foro de ASPX (.net) en Foros del Web. A raíz de este hilo en el que un usuario preguntaba cómo podría borrar todos los TextBox de su formulario sin la obligación de hacerlo ...
  #1 (permalink)  
Antiguo 09/05/2007, 14:51
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 18 años, 2 meses
Puntos: 1
Aplicar acción a varios controles del mismo tipo

A raíz de este hilo en el que un usuario preguntaba cómo podría borrar todos los TextBox de su formulario sin la obligación de hacerlo 1 por 1, me ha surgido la misma pregunta pero en ASP.NET.

Conozco el control Input(Reset) mediante el cual no haría falta código para conseguirlo sino simplemente añadirlo y listo, sin embargo si quisiéramos conseguir otro efecto sobre todos los TextBox (por ejemplo... ponerles un 30 en su texto), no encuentro la manera de realizarlo.

He probado con el siguiente código pero no consigo mi propósito:

Código:
   
protected void Button1_Click(object sender, EventArgs e)
 {
        foreach (Control c in Controls)
            if (c.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
                ((TextBox)c).Text = "30";
    } 
Pienso que quizás me debiera referir a WebControls en vez de Controls, pero no encuentro ningúna colección de controles web.

¿Alguién sabría cómo hacer ésto?

Gracias de antemano por ayudar a un principiante
__________________
No estoy aquí de vacaciones, creéme.
  #2 (permalink)  
Antiguo 14/05/2007, 08:32
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Aplicar acción a varios controles del mismo tipo

Me respondo yo mismo ya que está mañana en clase un compañero ha dado con ello :D

No caí en ello porque en aplicaciones windows no es necesario, pero aquí en ASP.NET la colección de controles Controls contiene a su vez el resto de colecciones de controles, pero agrupadas por tipo. Con lo que para acceder a los controles del tipo HTML (en este caso) tuve que poner:

Código:
foreach(Control c in Controls[3].Controls)
De tal forma que ahora el bucle foreach si recorrería los TextBox pintados en la web, ya que le estoy indicando dónde buscar exáctamente.

Por si le sirve a alguien, ahí queda.

Un saludo.
__________________
No estoy aquí de vacaciones, creéme.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:12.