Comment intercepter un événement personnalisé déclenché par une page maître?Evénements et délégués avec des pages maîtres ASP.NET
Sur ma page principale J'ai un événement personnalisé et délégué:
public event SignOutHandler SignOut;
public delegate void SignOutHandler();
Ceci est déclenché lorsqu'un bouton lien sur la page principale est cliqué.
if (SignOut != null)
{
SignOut();
}
Dans un contrôle utilisateur sur la page Je voudrais souscrire à cet événement, mais je ne sais pas comment je suis censé y avoir accès. Normalement, je ferais quelque chose comme:
MyInstantiatedMasterPage.SignOut += new MyMasterPage.SignOutHandler(MyEvent);
mais le fait d'utiliser une page maître signifie que cela n'est pas possible.
Je ne peux pas sembler accéder MyMasterPage.SignOutHandler (MyEvent); à partir de mon contrôle utilisateur. Je peux cependant y accéder à partir d'un formulaire web. –
C'est bizarre. S'ils sont dans le même espace de noms, vous devriez pouvoir accéder à un délégué (non-instance) sur une page maître depuis n'importe où. Le contrôle auquel vous essayez d'accéder se trouve-t-il dans le même espace de noms que la page maître? – TheSmurf
Je n'ai aucun espace de noms dans mes masters, pages ou contrôles, mais ils résident tous dans leurs propres dossiers. Les espaces de noms sont-ils impliqués par les noms de dossier? Quoi qu'il en soit, cela n'expliquerait pas pourquoi ma page peut accéder au master mais pas à mon contrôle. –