elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  FindControl buscar controles
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FindControl buscar controles  (Leído 1,965 veces)
NetJava

Desconectado Desconectado

Mensajes: 195



Ver Perfil
FindControl buscar controles
« en: 24 Enero 2013, 11:57 am »

Buenas a todos,

Tengo un problemilla, explico un poco la situación.
En una página aspx.vb he creado un montón de controles dinámicos, por ejemplo un panel_contenedor que a su vez tiene un montón de panels_grupos, cada panel_grupo contiene 3 panels y cada uno de estos controles; listbox, textbox, button.

Cuando se presiona el botón es fácil, ya que se crea el evento y se identifica el botón a través de él cuando se presiona, el problema el relacionar los controles listbox y textbox a ese botón. Bueno miento, no relacionar, si no coger la información.

Se supone que la vía es buscar esos controles con FindControls, si yo a un botón le doy el valor B777 y se que su listbox va a tener L777, solo con el botón sé cuál buscar, pero no consigo encontrar el control xD.

- No se si la idea que tengo es erronea.
- A lo mejor esq al estar tan anidados los panels, ese es el problema.

¿Qué se os ocurre?

Un saludo y muchas gracias!


En línea

NetJava

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: FindControl buscar controles [Solucionado]
« Respuesta #1 en: 24 Enero 2013, 12:47 pm »

Solucionado.

Bueno, lo primero que he hecho ha sido ponerle a todos los controles un ID (TextBox.ID = "algo") y ya esta, después el siguiente código:

Código:
Dim t As TextBox

If Page.Master IsNot Nothing Then
For Each control As Control In Page.Master.Controls
If TypeOf control Is HtmlForm Then
For Each controlform As Control In control.Controls
If TypeOf controlform Is ContentPlaceHolder Then
t = DirectCast(controlform.FindControl("TextBox1"), TextBox)
If t IsNot Nothing Then
Exit For
End If
End If
Next
End If
Next
Else
t = DirectCast(Page.FindControl("TextBox1"), TextBox)
End If

http://geeks.ms/blogs/lruiz/archive/2007/07/30/findcontrol-retorna-null-nothing-en-una-masterpage.aspx

En la web esta en C#, lo he puesto en vb. Un saludo a todos!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines