ASP.NETのイベントアグリゲーターを使用して、2つのユーザーコントロール間で通信します
-
26-10-2019 - |
質問
ASP.NET Webフォームに実装されているイベントアグリゲーターのサンプル/デモは見つかりません。ほとんどすべての記事はシルバーライト向けです。
イベントアグリゲーターパターンを実装するasp.net web.formsの作業コードを使用して、いくつかの記事を教えてください。
最も簡単な例:ASP.NET Webformの2つのユーザーコントロールは、イベントアグリゲーターパターンで互いに通信します。
編集
現在、ユーザーコントロールに基づいてASP.NET Webフォームアプリケーションを大きく基づいています。コンテナASPXページは、間に通信する必要がある複数のユーザーコントロール(ASCX)をホストできます。当面は、コンテナページを通過するイベントによって行われます。
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);
}
これは制御不能になっています:(
解決
私はイベントアグリゲーターパターンに精通していませんが、あなたの問題の解決策は、モデルビュープレゼンターパターンに記載されている場合があります。もたらすフレームワークがあります モデルビュープレゼンター Webフォームに。ドキュメントには、メッセージバスと公開および購読モデルを介して解決される「クロスプレセンターメッセージング」の例があります。
http://www.ronaldwidha.net/2010/05/31/a-simple-example-of-webformsmvp-cross-presenter-messaging/
また、プロジェクトのソースがオンになっています CODEPLEX, 、パターンの実装を見たい場合。
それは助けますか?
所属していません StackOverflow