2009-03-12 9 views
11

Windowsフォームでは、あるユーザーコントロールを別のユーザーコントロールから継承するのは簡単です。継承されたコントロールには、親フォームのすべてのコントロールが含まれており、さらにいくつかを追加できます。 ASP.NETでも同じことができますか?私は.ASCXタイプのユーザーコントロールについて話しています。ASP.NET UserControlを別のUserControlから継承させる方法はありますか?

答えて

14

短い答えはいいえではありません。は簡単にが完了していません。ユーザーコントロールまたはWebフォーム間に継承はありません。コードビハインドクラス間に継承階層を作成できますが、GUIコンポーネントは継承されません。

4

ウィンドウフォームの例とWebフォームの例の違いは、コントロールにタグ付き部分があることです。 Webアプリケーションが(少なくともいくつかの場合は)すべてをコンパイルするので、これは克服できると思いますが、今日はそうではありません。

ただし、ユーザーコントロールを別のユーザーコントロール、広告中断でスラップすることはできます。継承はできませんが、元のコントロールとそれに追加する必要があるもののコンポジットを作成することで、特定のコントロールを追加のコントロールで飾ることができます。それはあなたの問題を解決するかもしれない?

+0

場合があります。私はちょうどもっとeleganの方法があるかどうか疑問に思っていた。 :) –

+0

私は分かります。残念ながら、タグとコードの分離のために、今日はないと思います。 –

+0

"ただし、ユーザーコントロールを別のユーザーコントロールで叩くことができます。"はいはいはい。完全にUserControlを入れ子にするとは思わなかった –

3

ビジュアルデザイナーで話をしているのであれば、確かにコードで基本ユーザーコントロールを継承し、コード内に追加のコントロールを挿入できます。私はsystem.webコントロールとユーザーコントロールの両方からコンポジットコントロールを作成することに気付いています。そのため、新しいコントロールに追加のコントロールを追加した別のコントロールを追加することはできません。

関連する問題