Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Aplicar acción a varios controles del mismo tipo (http://www.forosdelweb.com/f78/aplicar-accion-varios-controles-del-mismo-tipo-488700/)

jabi 09/05/2007 14:51

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 :si:

jabi 14/05/2007 08:32

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.


La zona horaria es GMT -6. Ahora son las 14:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.