miércoles, 9 de abril de 2008

ASP.NET - Ejecutar metodo del padre desde el control hijo I

Parte I, II, III
Este es una situación que surge cuando desarrollamos aplicaciones:

Cómo puedo llamar un método o función del padre? pero desde el control hijo?


El escenario es este:
Tengo una página llamada padre.aspx, que tiene un Label1...
luego, tengo un control Hijo.ascx, que tiene un asp:button...
nosotros colocaremos en el control Hijo.ascx sobre la página Padre.aspx...


Ahora, quiero que el Label que está en la pagina padre.aspx se oculte o muestre...pero que sea el control Hijo quien decida si el Label del padre se oculta o muestra.

Hay diferentes maneras de resolver este problema,
1.-Forma 1
Mi clase Padre debería tener un método que oculte el Label, este método será llamado desde el control hijo .
Partial Public Class Padre

Inherits System.Web.UI.Page

Public Sub VisibleLabel(visible as Boolean)
Label1.visible = visible
End Sub


End Class


'Esta sería la clase para el control Hijo, más un método para llamar al método del padre
Public Partial Class Hijo
Inherits System.Web.UI.UserControl

Public Sub OcultarLabelDelPadre(visible as Boolean)
CType(Me.Parent, Padre).VisibleLabel(visible)
End Sub


End Class


Hmmmm, no me convence esa forma.... es la mejor???
No, no es la mejor y sí pues, tienes razón... no se ve bien... en el próximo post resolveremos este problema de otra manera.

Parte I, II, III

1 comentario:

Yosel dijo...

Interesante articulo para los que deseen tenerlo en C# hay un articulo similar en http://elcodigoyyo.blogspot.com/