2011-07-19 7 views
0

私は、一見していることを誰かに教えて、私たちがそれを奇妙な方法で行っているかどうかを教えてください。正当性チェック:マスターページ、コンテンツページ、ASCXの依存関係

  • 我々は管理組織のビー玉(マスターページ)、.aspxの(コンテンツページ)とた.ascx(ユーザーコントロール)を持っている:私は何

  • ユーザーコントロールはすべてのページに表示されるので、マスターページに配置する必要があります。
  • ユーザーコントロールは表示されるコンテンツページに基づいて異なる方法で初期化する必要があります。したがって、コンテンツページには、コントロールを初期化するいくつかの引数を渡して、ユーザーコントロールにイベントを発生させることの可能性があります。

質問:私の心の中で

、これはユーザーコントロールとコンテンツページまたはマスターページのいずれかとの間の依存関係を削除します。私は正しいですか?

引数を渡してコントロールを初期化する最も簡単な方法は、User Controlでイベントを呼び出していますか?

これ以上の点を明確にすることをうれしく思います。

答えて

1

私はそれは問題ないと思いますが、ユーザーコントロールがコンテンツページのイベントをどのように購読するのかを明確にしたいと思います。

また、あなたはまた、マスターページのためのインタフェースを作成することを検討できます。

public interface IMyMaster 
{ 
    UserControlType Control { get; } 
} 

マスターにこのインタフェースを適用した後、インターフェイスはコントロールへの直接の参照を返すことができます。コンテンツページは、次に行うことができます:

if (this.Page.Master is IMyMaster) { 
    ((IMyMaster)this.Page.Master).Control.Initialize(); 
} 

HTH。

関連する問題