0

別のユーザー コントロールに表示している [保存] ボタンと [キャンセル] ボタンのあるユーザー コントロールがあります。ユーザーが [保存] をクリックすると、内部ユーザー コントロールに標準機能を実行させたいのですが、親コントロールにもいくつかのことを実行させたいと考えています。これを処理する最良の方法は何ですか?

4

2 に答える 2

2

最善のアプローチは、「外部」コントロールで処理できるカスタム保存イベントを発生させることです。

http://www.codeproject.com/Articles/8797/Mastering-Page-UserControl-Communication#4.3

このイベントアプローチの利点は、UserControlsが再利用可能なままであるということです。このイベントを処理しない場合でも、他のページ(またはUserControls)でUserControlAを使用できます。何が必要で何をすべきかを決定するのはコントローラーの一部です。

原則として、UserControlsは特定のコントローラーに依存しないようにする必要があります。依存しないと、ハードリンクされて再利用できなくなります。それは厄介なエラーの良い情報源にもなります。UserControlは、他のネストされた(User-)コントロールのコントローラーである可能性がありますが、ページ自体のコントローラーではありません。

コミュニケーションの概要

  • ページ->UserControl->パブリックプロパティとメソッド
  • UserControl->ページ->イベント
  • UserControl-> UserControl->コントローラー-UserControlはページロールを採用します(上記のユースケースを参照)
于 2012-06-12T18:38:37.607 に答える
0

バブル イベントは、 http://msdn.microsoft.com/en-us/library/aa719644( v=vs.71 ).aspx

ユーザー コントロールでバブル イベントを発生させることができます。これは、処理されるまで、各ユーザー コントロールの先祖に再帰的に渡されます。

于 2012-06-12T18:50:03.923 に答える