どちらも ASP.NET サーバー コントロールです。HTML 要素に対応するものはSystem.Web.UI.HtmlControls
名前空間にあり、Web コントロールはSystem.Web.UI.WebControls
名前空間にあります。
HTML コントロールはより軽量で、HTML 要素に正確に対応していますが、Web コントロールはより多くの機能を備えており、ブラウザーの機能とコントロールの設定に応じて異なる HTML 要素としてレンダリングできます。
HTML コントロールは単一の HTML 要素としてレンダリングされますが、Web コントロールは 0 個以上の HTML 要素としてレンダリングされます。Literal
たとえば、コントロールは要素としてレンダリングされず、テキストのみを出力します。Repeater
やコントロールのように、それ自体では要素をレンダリングしない他のコントロールがありPlaceHolder
ます。一方、CheckBoxList
たとえばコントロールは、いくつかの HTML 要素、table
コンテナ、およびinput
その中の各チェックボックスの要素としてレンダリングされます。
さまざまな要素を使用してレンダリングされるコントロールの例は、プロパティに応じてまたは要素TextBox
としてレンダリングされるコントロールです。input
textarea
TextMode
Web コントロールにはより多くの機能がありますが、より多くのリソースも使用します。より多くのプロパティがあり、テーマやデータ バインディングなどをサポートします。Web コントロールの多くはViewState
、ページの一部として送信される にデータを配置します。注意しないと、ViewState
が非常に大きくなり、ページの読み込み時間に影響を与える可能性があります。