概要
こんにちはすべて、
OK、カスタムコントロールを使った私の冒険にさらに進んでください...
要約すると、カスタムコントロールの3つの主要な「クラス」について学習しました。これが間違っている場合は、遠慮なく訂正してください。
- UserControls - UserControlから継承し、 ASCXファイルに含まれています。これらは実行できることにはかなり制限がありますが、デザイナーのサポートによってUIの共通性をすばやく簡単に得ることができます。
- カスタムコンポジットコントロール-これらは、 CreateChildControlsメソッド内のコントロールに既存のコントロールを追加するWebControlから継承するコントロールです。これは優れた柔軟性を提供しますが、追加のコーディングなしではデザイナーのサポートが不足します。DLLにコンパイルできるため、移植性は高くなります。
- カスタムレンダリングコントロール-カスタムコンポジットコントロールと同様に、これらはWebコントロールライブラリプロジェクトに追加されます。コントロールのレンダリングは、 Renderメソッドをオーバーライドすることにより、プログラマーによって完全に制御されます。
私の考え..
OK、カスタムコンポジットで遊んでいると、次のことがわかりました。
- HTML出力をほとんど/まったく制御できないため、「デバッグ」が困難になります。
- CreateChildControls(および後続のメソッド)は、どこでもControls.Add(myControl)で非常に忙しくなる可能性があります。
- レンダリングテーブル(レイアウト用であれコンテンツ用であれ)はかなり扱いにくいことがわかりました。
質問)..
ですから、私はこれに慣れていないので、上記の私のポイントのいくつかでかなりオフベースになる可能性があることを認めます。
- コンポジットを使用していますか?
- HTML出力を制御するための巧妙なトリックはありますか?
- 「それで地獄へ」と言って、先に進んでカスタムレンダリングされたコントロールを作成しますか?
優れたコントロール開発が全体的な開発時間をどれだけ短縮できるかを知っているので、それは私が心の中で本当に固くなりたいと思っています。
ご回答をお待ちしております^_^