2009-07-22 22 views
1

私はUserControlをいくつかの機能を提供しています(クライアントの情報をロードして表示します)。一部のフォームでは、古いUserControlが必要ですが、他のフォームではいくつかの追加フィールドが必要になります。既存のUserControlから継承する方法、既存のフィールドを更新する方法、新しいフィールドを追加する方法はありますか?UserControlは別のUserControlから継承します

私はMasterPagesの働きが好きで、プレースホルダーを定義して、コンテンツページでは余分なコンテンツを持つプレースホルダーを埋めています。これはUserControlsで可能ですか?ありがとう!

答えて

1

私は自分のUserControlとしてネストされたMasterPagesを使用して終了しました(とにかにUserControlから継承しています)。次に、私はthis.LoadControl( "〜/ mp.master")と呼ぶだけで、設計時のフルサポートでUserControlsをネストしました。 :)

1

おそらく、いくつかのASPを定義することができます:あなたのUserControl内にPlaceHolders(「ゾーン」と考える)を公開し、継承されたクラスがそれらを変更できるようにするために保護された状態で利用できるようにします。そうすれば、必要に応じてサブコントロールを追加することができます。継承されたのUserControlの1から

protected PlaceHolder TopZone { 
    get { return plhTop; } 
} 


protected PlaceHolder BottomZone { 
    get { return plhBottom; } 
} 

Label lblTest = new Label { Text = "Hello World!" }; 
TopZone.Controls.Add(lblTest); 

それはverrry基本的な例ですが、私はそれはあなたに使用であると思います。

+0

これは私が今使っている方法と非常に似ていますが、MasterPagesが提供するのと同じレベルの機能を提供しておらず、維持することも難しかったです。 :( –

+0

UserControlはコントロール(コンテナ)であり、それにコントロールを追加するだけでよいのですが、おそらくUserControlを使用してポイントを失っている可能性があります。 – Zyphrax

関連する問題