最近のインタビューで、この質問に対して妥当な答えがあると思いましたが、爆撃しました。:(
- 3つの主な違いは何ですか?
- 前の箇条書きの答えで明らかでない場合、いつどちらを選択しますか?
最近のインタビューで、この質問に対して妥当な答えがあると思いましたが、爆撃しました。:(
ユーザーコントロールは、Webプロジェクト内でデザイナーによって構築されたコントロールです。これらは通常、Webアプリケーション専用です(他のプロジェクトで使用できるようにする方法はありますが)。
サーバーコントロールは、Webコントロールとも呼ばれるコントロールです。これらは、デザイナーの助けを借りずにhtmlをレンダリングする再利用可能なコントロールであり、Webアプリケーションとは別のアセンブリで作成され、多くの異なるWebアプリケーションで使用されるコントロールに適しています。
複合コントロールはWebコントロールのサブタイプであり、他のWebコントロールで構成(構成)されているコントロールです。
カスタムコントロールが、あなたやあなたのチームによってカスタムビルドされたコントロール以外のものを意味するということは聞いたことがありません。また、ユーザー、Web、または複合コントロールを含めることができます。
ユーザー コントロールは部分的な Web ページであり、ASP.NET の他の Web ページと同じ方法で作成されますが、.ASCX 拡張子があり、他の ASPX ページに埋め込むことができます。
ユーザー コントロールは、次のように使用される Web ページに登録されます。
<%@ Register TagPrefix="UC" TagName="TestControl" Src="test.ascx" %>
これらは、次のように、使用される Web ページで宣言されます。
<UC:TestControl id="Test1" runat="server"/>
カスタム コントロールは、通常の Web フォームやユーザー コントロールと同様に、サーバー上で実行され、オブジェクト モデルを公開し、HTML や XML などのマークアップ テキストをレンダリングするコンパイル済みコード コンポーネントです。カスタム コントロールは C# または VB で記述され、クラスから派生します。
System.Web.UI.WebControls.WebControl
サーバー コントロールは、サーバー上で実行され、マークアップをブラウザーにレンダリングするコントロールです。ユーザー コントロールとカスタム コントロールは、どちらもサーバー コントロールの例です。