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

Comunicación WebUserControl y Aspx

Estas en el tema de Comunicación WebUserControl y Aspx en el foro de ASPX (.net) en Foros del Web. Hola, he estado mirando el foro y no cabao de ver lo que necesito. Me gustaría que alguien me pudiese orientar sobre el problema que ...
  #1 (permalink)  
Antiguo 22/04/2010, 04:46
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Comunicación WebUserControl y Aspx

Hola, he estado mirando el foro y no cabao de ver lo que necesito. Me gustaría que alguien me pudiese orientar sobre el problema que me encuentro.

Soy un poco nuevo en asp.net así que os pido un poco de paciencia si no me explico bien.

Problema (Aplicación Web con Visual Studio 2008):
Tengo un par de WebUserControls con diferentes "TextBox", "RadioButtonList" y "CheckBox" (partes de un formulario: nombre, dni, etc...).
Estos WebUserControls los meto dentro de una página aspx (el formulario).

Lo que necesito es:
En mi página aspx poder leer/trabajar esos campos que hay en los WebUserControls.
1-. Para mostrar al enviar el formulario los datos que ha enviado
2-. Para que el segundo WebUSerControl, dependiendo de si ha activado un "checkbox" del primer WebUserControl me muestre un campo obligatorio o no.

Muchas Gracias. Saludos
Alberto
  #2 (permalink)  
Antiguo 22/04/2010, 14:41
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Comunicación WebUserControl y Aspx

Hola

Tendrías que a tus user control agregarles propiedades para que la página pueda acceder a los valores del mismo.

Te dejo un enlace donde podes ver un tutorial, esta en csharp pero podes usar algun conversor de código si tenes problemas, de todas formas sirve para que veas como sería la idea:

http://ltuttini.blogspot.com/2009/10...r-control.html
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 23/04/2010, 00:32
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: Comunicación WebUserControl y Aspx

Gracias, por responder.
ahora me miro el link.
De momento he encontrado algo tipo esto (lo coloco en mi página aspx):

Label2.Text = DirectCast(Me.MiUserControl.FindControl("txtEjempl o"), TextBox).Text

Con esto consigo poner el texto del textbox del UserControl (ascx) en un label de mi (aspx).
Pero no se que significa "DirectCast" (tengo que estudiar ;))
Tambien he leido algo sobre declarar los textbox, etc..como publicos, pero en vs2008 los pone por defecto en Protected y no se donde se cambian (además tambien estoy un poco verde en eso de declarar public, private, protected).
  #4 (permalink)  
Antiguo 28/04/2010, 03:10
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: Comunicación WebUserControl y Aspx

Hola estuve mirando el link.
Ahora estoy intentando crearlo de esa forma (Con Propiedades publicas dentro del userControl). pero me encuentro con otro problema (es un pelín mas complicado de lo que expongo, pero si soluciono el caso expuesto "resumido" ya puedo avanzar).

Tengo 2 user control (ascx) y una pagina (aspx).
El primer ascx tendría el formulario
El segundo ascx tendría los resultados del formulario (presentaria los datos que se han escrito en el primer ascx).
La pagina aspx tendría el primer ascx en una parte de la página y el segundo ascx en otra parte. Y en esta página aspx estaria el botón para enviar (y realizar eventos, etc...).

Quisiera poder comunicar(unir de alguna manera) desde el 2º ascx (resultados) al 1ª ascx (formulario), para recoger los valores de los campos y ponerlos en labels (sin tener que escribirlo en la página aspx. así me evitaría tener que escribir código en el aspx cada vez que use estas partes de formulario.
Alguna idea????
  #5 (permalink)  
Antiguo 30/04/2010, 17:12
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Comunicación WebUserControl y Aspx

Hola como te va

Mira, lo podes resolver de muchas formas, en tu página podes por la página crear una variable de sessión por ejemplo, entonces tus controles de usuarios acceden y asignan o acceden a esa session , tambien podes probar en vez de una variable de sessión una variable tipo viewstate.

Lo otro que podes hacer, crear una instancia desde tu control de usuario.
Si vos tenes en tu pagina un control "ControlUNO" y otro "ControlDOS" y queres desde el ControDOS acceder a un textbox "Nombre" podes probar esto (en el ControlDOS)


Control c = (Control) this.Parent.FindControl("ControlUNO");

Textbox t = (TextBox)c.FindControl("Nombre");

Y en "t" tenes tu textbox, luego haces lo mismo con los otros

Fijate que uso primero "this.Parent.FindControl" porque el parent hace que busque en la página donde esta el usercontrol, sino buscaría dentro del mismo

Otra cosa aca:

Control c = (Control) this.Parent.FindControl("ControlUNO");

Control sería en general, osea la clase base del framework, por lo tanto no podes acceder a las propiedas si las tiene, pero creo que directamente si tu control se llama en la solución "xFormControl", podes hacer algo como esto:

xFormControl c = (xFormControl) this.Parent.FindControl("ControlUNO");

Entonce acá es más facil porque ya podrías acceder a la propiedad del control "c.obtenerNombre"
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!

Etiquetas: aspx
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:38.