15

最近のインタビューで、この質問に対して妥当な答えがあると思いましたが、爆撃しました。:(

  • 3つの主な違いは何ですか?
  • 前の箇条書きの答えで明らかでない場合、いつどちらを選択しますか?
4

2 に答える 2

24
  • ユーザーコントロールは、Webプロジェクト内でデザイナーによって構築されたコントロールです。これらは通常、Webアプリケーション専用です(他のプロジェクトで使用できるようにする方法はありますが)。

  • サーバーコントロールは、Webコントロールとも呼ばれるコントロールです。これらは、デザイナーの助けを借りずにhtmlをレンダリングする再利用可能なコントロールであり、Webアプリケーションとは別のアセンブリで作成され、多くの異なるWebアプリケーションで使用されるコントロールに適しています。

  • 複合コントロールはWebコントロールのサブタイプであり、他のWebコントロールで構成(構成)されているコントロールです。

カスタムコントロールが、あなたやあなたのチームによってカスタムビルドされたコントロール以外のものを意味するということは聞いたことがありません。また、ユーザー、Web、または複合コントロールを含めることができます。

于 2009-06-14T23:23:24.510 に答える
7

ユーザー コントロールは部分的な 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 

サーバー コントロールは、サーバー上で実行され、マークアップをブラウザーにレンダリングするコントロールです。ユーザー コントロールとカスタム コントロールは、どちらもサーバー コントロールの例です。

http://support.microsoft.com/kb/893667

于 2009-06-14T23:24:05.647 に答える