カスタム コントロールを作成するときに Web コントロールとコントロールのどちらを選択するかについての説明を読んだことがありますが、それだけでは十分ではありません。カスタム コントロールが両方とも UI に何かをレンダリングしているときに、どちらかから継承するのを見てきました。
http://msdn.microsoft.com/en-us/library/yhzc935f.aspx
「コントロールがクライアント上でユーザー インターフェイス (UI) 要素またはその他の可視要素をレンダリングする場合、System.Web.UI.WebControls..::.WebControl (または派生クラス) からコントロールを派生させる必要があります。 renders an element that is not visible in the browser, such as a hidden element or a meta element, raise your control from System.Web.UI..::.Control. WebControl クラスは Control から派生し、次のようなスタイル関連のプロパティを追加しますFont、ForeColor、および BackColor として。さらに、WebControl から派生したコントロールは、追加作業なしで ASP.NET のテーマ機能に参加します。」
WebControl を使用する唯一の理由は、スタイリング機能を使用する場合ですか? 究極的にはstringbuilderで文字列を出力するだけなので、そのことは気にしません。とにかく、コントロールがレンダリングする HTML を形成するために、テーブルのないデザインと文字列をそのまま使用したいと思います。