次の方法で共有


Web フォーム ユーザー コントロール

HTML や Web サーバー コントロールのほかにも、Web フォーム ページを開発するために学んだのと同じ技術を使用して、再利用可能な独自のカスタム コントロールを簡単に作成できます。このようなコントロールは、ユーザー コントロールと呼ばれます。

ユーザー コントロールを使用すると、複数の ASP.NET Web アプリケーションに共通するユーザー インターフェイス (UI) 機能を簡単に分割したり、再利用したりできます。Web フォーム ページの場合と同様に、これらのコントロールは任意のテキスト エディタで作成したり、分離コード クラスを使用して開発したりできます。また、Web フォーム ページの場合と同様、ユーザー コントロールは初回要求時にコンパイルされ、後続の要求に応答する時間を短縮するために、サーバーのメモリ内に格納されます。ただし、ページの場合とは異なり、ユーザー コントロールは単独で要求することはできず、Web フォーム ページに含めなければ正しく機能しません。Web フォーム ページとユーザー コントロールの関係については、「Web フォーム ページからユーザー コントロールへの変換」を参照してください。

ユーザー コントロールは、ASP.NET が提供するオブジェクト モデル サポートにアクセスすることにより、SSI (Server-Side Include) 以上の柔軟性を提供します。ほかのファイルによって提供される機能を単純に組み込むだけではなく、ほかの ASP.NET サーバー コントロールの場合と同様に、コントロール内で宣言した任意のプロパティに対するプログラミングを実行できます。

ユーザー コントロールを作成するときに言語を 1 つ選択する必要はありますが、既に別の言語で作成してある 1 つの Web フォーム ページの中に複数のユーザー コントロールを含めることができます。たとえば、XML ファイルからデータをインポートするユーザー コントロールを Visual Basic で作成し、注文フォームを含む別のユーザー コントロールを C# で作成し、両方のコントロールを同じ Web フォーム ページに含めることができます。

メモ   Visual Studio .NET を使って Web アプリケーションを作成する場合は、アプリケーションのすべてのページとユーザー コントロールで同じプログラミング言語を使用する必要があります。

さらに、ユーザー コントロールからの出力をそのコントロールを含む Web フォーム ページの残りの部分とは別にキャッシュできます。フラグメント キャッシュと呼ばれるこの技術を適切に使用すると、サイトのパフォーマンス向上を図ることができます。たとえば、ユーザー コントロールの中に ASP.NET サーバー コントロールが含まれており、そのコントロールはデータベース要求を作成するが、ページ上の残りの部分にはリテラル テキストとサーバー上で動作する単純なコードしか含まれない場合には、そのユーザー コントロールをフラグメント キャッシュすることでアプリケーションのパフォーマンスを向上させることができます。詳細については、「ASP.NET ページの一部だけのキャッシュ」を参照してください。

このセクションの内容

関連項目

  • ASP.NET サーバー コントロール
    4 種類のサーバー コントロールについて説明し、そのサーバー コントロールを Web フォーム ページで作成およびプログラミングする方法について説明します。
  • Web フォーム ページ
    サーバー上で処理されるフォーム ベースの Web ページを作成する方法について説明します。
  • ASP.NET ページの一部だけのキャッシュ
    @ OutputCache ディレクティブやユーザー コントロールを使用して、ページの一部だけをキャッシュする方法について説明します。この方法は、ページ全体をキャッシュしない場合に役立ちます。
  • UserControl クラス
    ユーザー コントロールに関連する .NET Framework のクラスのイベント、メソッド、プロパティについて説明します。