Communiquer entre deux contrôles utilisateur à l'aide de l'événement Aggregator dans ASP.NET
-
26-10-2019 - |
Question
Je ne peux pas trouver un échantillon / démo de aggrégateur d'événements mis en œuvre dans les formulaires Web ASP.NET. Presque tous les articles sont pour Silverlight.
Pouvez-vous me pointer vers un certain article, PREFERENCE avec le code de travail dans ASP.NET web.forms qui mettent en œuvre modèle d'agrégation d'événements.
exemple le plus simple:. Deux commandes d'utilisateur dans ASP.net webform, communiquant les uns les autres avec un motif d'agrégation d'événements
EDIT
Actuellement, j'ai une application de formulaires Web ASP.NET fortement basée sur le contrôle de l'utilisateur. page ASPX conteneur peut héberger plusieurs contrôles utilisateur (ascx) qui doivent communiquer entre eux. Pour l'instant, il est fait par les événements qui traversent la page contenant:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
// Event from UC1 is handled in UC2
UC1.OnCategoryFilterSelected += new CategoryFilterSelectedHandler(UC2.MethodInUC2);
// Event from UC1 is handled in in container APSX page
UC1.OnCategoryFilterSelected += new CategoryFilterSelectedHandler (MethodInContainerPage);
}
Ceci est hors de contrôle: (
La solution
Je ne suis pas familier avec le modèle d'agrégation d'événements, mais une solution à votre problème se trouve dans le pattern Model View Presenter. Il existe un cadre pour faire Model View Présentateur pour Web Forms. Dans la documentation, il est un exemple de « messagerie inter-présentateur » qui est résolu par un bus de message et une publication et modèle abonnez-vous:
En outre, la source du projet est sur Codeplex , si vous voulez regarder la mise en œuvre du modèle.
Est-ce que l'aide?