私は最近のインタビューでこの質問に対して合理的な回答があると思ったが、私はそれを爆破した。前の項目への回答によって明らかにされていない場合ときは、他の上で1つを選ぶだろう:(ユーザーコントロール、サーバーコントロール、カスタムコントロールの違いは何ですか?
- 、3?
- の主な違いは何ですか?
私は最近のインタビューでこの質問に対して合理的な回答があると思ったが、私はそれを爆破した。前の項目への回答によって明らかにされていない場合ときは、他の上で1つを選ぶだろう:(ユーザーコントロール、サーバーコントロール、カスタムコントロールの違いは何ですか?
ユーザーコントロールは、Webプロジェクト内のデザイナーで作成されたコントロールで、通常はWebアプリケーション専用です(ほかのプロジェクトで使用できるようにする方法もありますが)。
サーバーコントロールは、Webコントロールとも呼ばれるコントロールです。これらは再利用可能なコントロールであり、デザイナーの助けなしでhtmlをレンダリングし、Webアプリケーションからの別個のアセンブリで作成され、多くの異なるWebアプリケーションで使用されるコントロールに適しています。
コンポジットコントロールは、タイプのWebコントロールであり、他のWebコントロールで構成されたコントロールです。
あなたやあなたのチームによってカスタム作成されたコントロール以外のものを意味するカスタムコントロールについて聞いたことはありません。また、ユーザー、Web、または複合コントロールを含めることもできます。
ユーザーコントロールは、ASP.NETの他のWebページと同じ方法で作成された部分的なWebページです。ただし、拡張子が.ASCXであり、他のASPXページに埋め込むことができます。
<UC:TestControl id="Test1" runat="server"/>
:
<%@ Register TagPrefix="UC" TagName="TestControl" Src="test.ascx" %>
彼らはその後、彼らはこのように、中に使用されるWebページで宣言されています:
ユーザーコントロールは、このように、それらが使用されているWebページに登録されています
カスタムコントロールは、サーバー上で実行され、オブジェクトモデルを公開し、HTMLやXMLなどのマークアップテキストを通常のWebフォームやユーザーコントロールと同じようにレンダリングするコンパイル済みコードコンポーネントです。カスタムコントロールは、C#やVBで書かれている、と
System.Web.UI.WebControls.WebControl
サーバーコントロールはサーバー上で実行し、ブラウザにマークアップをレンダリングするコントロールされているクラスから派生しています。ユーザーコントロールとカスタムコントロールは両方ともサーバーコントロールの例です。
Difference between Web User Controls and Web Custom Controls in ASP.Net.
Webユーザーコントロール:
Webユーザーコントロールしやすいですが、彼らは高度なシナリオで使用するのに不便することができます。 Webユーザーコントロールは、Webフォームページを開発するのとほぼ同じ方法で開発します。 Webフォームと同様に、ユーザーコントロールはビジュアルデザイナーで作成でき、HTMLから分離したコードで記述でき、実行イベントを処理できます。ただし、Webユーザーコントロールは実行時に動的にコンパイルされるため、ツールボックスに追加することはできず、ページに追加すると単純なプレースホルダグリフで表されます。これにより、プロパティウィンドウやデザインビューのプレビューなど、Visual Studio .NETの完全なデザイン時のサポートに慣れている場合、Webユーザーコントロールを使用するのが難しくなります。また、アプリケーション間でユーザーコントロールを共有する唯一の方法は、各アプリケーションに個別のコピーを入れることです。コントロールに変更を加えた場合、メンテナンスがより多くなります。
のWebカスタムコントロール:
のWebカスタムコントロールを作成するためにそれらを使いやすくが、より困難にコードをコンパイルしています。 Webカスタムコントロールはコードで作成する必要があります。ただし、コントロールを作成したら、それをツールボックスに追加して、プロパティウィンドウの完全なサポートと、ASP.NETサーバーコントロールの他のすべてのデザイン時機能を備えたビジュアルデザイナーで表示できます。さらに、Webカスタムコントロールの単一コピーをグローバルアセンブリキャッシュにインストールしてアプリケーション間で共有することができ、メンテナンスが容易になります。
詳細な記事hereをお読みください。
少し良くなるパイントを列挙してください –
ユーザコントロールはWebページではなく、コンパイルされています。 – JoshBerke
ユーザーコントロールは、Webページのチャンクです。 –
ジョシュ、私はあなたがカスタムコントロールを考えていると思う。 http://support.microsoft.com/kb/893667を参照してください –