J'ai un UserControl A qui contient
- un menu déroulant
- un espace réservé
Au moment de l'exécution, l'espace réservé sera rempli avec un UserControl B.
Il y a des moments où j'ai besoin de piéger l'événement javascript onchange dans la liste déroulante pour appeler une fonction javacript dans B (pour faire une mise à jour de B côté client). Quelle est la meilleure conception/pratique pour faire cela ?
La méthode naïve consiste à faire de l'asp:dropdownlist un membre public et à l'envoyer dans une méthode publique de B :
// In controlling code
...
userControlB.Initialize(userControlA.TheDropDownList);
...
// In usercontrol B
public void Initialize(DropDownList dropdownFromA)
{
dropdownFromA.Attributes.Add("onchange", "myBfunction()");
}
Mais cette approche sent le roussi. J'aimerais que le couplage entre A et B soit le plus lâche possible. Une meilleure idée ?