Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appeler une méthode de la classe parent d'un contôrle ascx

2 réponses
Avatar
user
Hello,


Soit un contrôle utilisateur .ascx (A) contenant un placeHolder dans lequel
est chagé dynamiquement un autre contrôle utilisateur .ascx (B)
via le code suivant, sur l'evt Page_Init de A

Protected WithEvents plhContent As System.Web.UI.WebControls.PlaceHolder

Private Sub Page_Init(ByVal sender ...
InitializeComponent()
Control_Load()
End Sub

... et dans la méthode Control_Load()
... plhContent.Controls.Add(B)

Le truc, c'est que je souhaite à partir d'une méthode de la classe de base
de B, appeler une méthode de la classe de base de A ..

euh, suis-je clair ...

Merci de votre aide

Damien

2 réponses

Avatar
Paul Bacelar
L'approche la plus évidente:

Interface IMyCallback
Function MaFonction(...) As MontypeDeRetour
End Interface

Class SuperClasseDeA
Inherits System.Web.UserControl
Implements IMyCallback

Function MaFonction(...) As MontypeDeRetour
....
End Function


Class B
Inherits System.Web.UserControl

_callback As IMyCallback

Sub SetCallBack( toto As IMyCallback)
_callback = toto
End Sub

Sub UneFonction()
_callback.MaFonction()
End Sub
...
plhContent.Controls.Add(B)
B.SetCallBack(Me)
...

--
Paul Bacelar
MVP VC++

"user" wrote in message
news:
Hello,


Soit un contrôle utilisateur .ascx (A) contenant un placeHolder dans
lequel
est chagé dynamiquement un autre contrôle utilisateur .ascx (B)
via le code suivant, sur l'evt Page_Init de A

Protected WithEvents plhContent As System.Web.UI.WebControls.PlaceHolder

Private Sub Page_Init(ByVal sender ...
InitializeComponent()
Control_Load()
End Sub

... et dans la méthode Control_Load()
... plhContent.Controls.Add(B)

Le truc, c'est que je souhaite à partir d'une méthode de la classe de base
de B, appeler une méthode de la classe de base de A ..

euh, suis-je clair ...

Merci de votre aide

Damien




Avatar
user
Merci beaucoup et meilleurs voeux

Damien


"Paul Bacelar" a écrit dans le message
de news:
L'approche la plus évidente:

Interface IMyCallback
Function MaFonction(...) As MontypeDeRetour
End Interface

Class SuperClasseDeA
Inherits System.Web.UserControl
Implements IMyCallback

Function MaFonction(...) As MontypeDeRetour
....
End Function


Class B
Inherits System.Web.UserControl

_callback As IMyCallback

Sub SetCallBack( toto As IMyCallback)
_callback = toto
End Sub

Sub UneFonction()
_callback.MaFonction()
End Sub
...
plhContent.Controls.Add(B)
B.SetCallBack(Me)
...

--
Paul Bacelar
MVP VC++

"user" wrote in message
news:
> Hello,
>
>
> Soit un contrôle utilisateur .ascx (A) contenant un placeHolder dans
> lequel
> est chagé dynamiquement un autre contrôle utilisateur .ascx (B)
> via le code suivant, sur l'evt Page_Init de A
>
> Protected WithEvents plhContent As System.Web.UI.WebControls.PlaceHolder
>
> Private Sub Page_Init(ByVal sender ...
> InitializeComponent()
> Control_Load()
> End Sub
>
> ... et dans la méthode Control_Load()
> ... plhContent.Controls.Add(B)
>
> Le truc, c'est que je souhaite à partir d'une méthode de la classe de


base
> de B, appeler une méthode de la classe de base de A ..
>
> euh, suis-je clair ...
>
> Merci de votre aide
>
> Damien
>
>