ASP.NET Web パーツの概要
更新 : 2007 年 11 月
ASP.NET Web パーツは Web サイト作成用の一連の組み込みコントロールであり、これを使用すると、エンド ユーザーは Web ページの内容、外観、動作をブラウザから直接編集できます。変更内容は、サイトのすべてのユーザーに適用することも、個別のユーザーに適用することもできます。ユーザーがページとコントロールを変更するときは、設定を保存して、ユーザー独自の設定をその後のブラウザ セッションにわたって維持できます。この機能をパーソナル化と呼びます。Web パーツのこのような機能は、開発者がエンド ユーザーに対して、開発者や管理者の介入を必要とせずに動的に Web アプリケーションをパーソナル化する権限を付与できることを意味しています。
開発者は、Web パーツ コントロール セットを使用して、エンド ユーザーが次のことを実行できるようにできます。
ページのコンテンツをパーソナル化する。ユーザーは、ページに新しい Web パーツ コントロールを追加したり、Web パーツ コントロールを削除したり、非表示にしたり、通常のウィンドウと同じように最小化したりできます。
ページのレイアウトをパーソナル化する。ユーザーは、Web パーツ コントロールをページ上の別のゾーンに移動したり、その外観、プロパティ、および動作を変更したりできます。
コントロールをエクスポートおよびインポートする。ユーザーは、他のページまたはサイトで使用する Web パーツ コントロールの設定を、プロパティ、外観、さらにはコントロール内のデータも保持したままでインポートまたはエクスポートできます。これにより、エンド ユーザー側のデータ入力と構成の必要性が軽減されます。
接続を作成する。ユーザーは、コントロール間の接続を確立することにより、たとえばグラフ コントロールに株相場を表示するティッカー コントロールのデータのグラフを表示できます。ユーザーは接続自体だけでなく、グラフ コントロールにデータを表示する際の外観や方法の詳細もパーソナル化できます。
サイト レベルの設定を管理およびパーソナル化する。承認されたユーザーは、サイト レベルの設定を構成したり、サイトまたはページにアクセスできるユーザーを指定したり、コントロールに対してロール ベースのアクセスを設定したりできます。たとえば、管理ロールに割り当てられているユーザーはすべてのユーザー間で共有される Web パーツ コントロールを設定できるが、管理者以外のユーザーは共有コントロールをパーソナル化できないというような設定が可能です。
Web パーツの基本事項
Web パーツ コントロール セットは、パーソナル化、ユーザー インターフェイス (UI) 構造コンポーネント、および実際の Web パーツ UI コントロールという主な 3 つのビルド ブロックで構成されます。詳細については、「Web パーツ コントロール セットの概要」を参照してください。開発作業の多くは、Web パーツ コントロール セットの機能を使用できる ASP.NET コントロールである Web パーツ コントロールに重点を置いて行われます。
Web パーツ コントロールを使用してパーソナル化できる Web ページを作成する例として、次の図を参照してください。
一般的な Web パーツ ページ
このページには、Web パーツ アプリケーションの基本要素がいくつか含まれています。
ページ レイアウトでのゾーンの使用。このページには、コントロールを含んでいる列が 2 つあります。Weather コントロールおよび Stock Quotes コントロールを含む列と、Hotmail コントロールおよび News コントロールを含む列です。Web パーツの用語では、これらの列をゾーンと呼びます。ゾーンは、ページ上の Web パーツ コントロールを含んでいる領域です。ゾーンは、ページ上に Web パーツ コントロールを配置し、コントロールに共通の UI を提供するために使用されます。1 つのページに 1 つ以上のゾーンを含めることができます。各ゾーンには 1 つ以上の Web パーツ コントロールを含めることができ、各ゾーンのページ レイアウトは垂直方向または水平方向に設定できます。
ゾーン内の Web パーツ コントロール。各コントロールには、コントロール上にリンク、ボタン、またはクリックできるイメージとして表示される UI 動詞 (ユーザーが実行できる操作) があります。上の図では、各コントロールのタイトル バーに、ドロップダウン メニューを表示するボタンがあります。各コントロールのメニューには、そのコントロールに固有の詳細を変更するオプションと、コントロールの移動や削除、ヘルプの表示などの一般的な操作を実行する他のオプションがあります。Weather コントロールなどの一部のコントロールでは、ユーザーがコントロールをパーソナル化して、自分に関係がある情報だけを表示するように設定できます。
広範なパーソナル化を行う場合に使用するリンク。ユーザーは、これらのリンクを使用して、ページの内容、色、およびレイアウトを変更できます。たとえば、ユーザーが [列の追加] リンクをクリックした場合にページに新しい列を追加できるよう、Web パーツ アプリケーションを設定できます。または、[コンテンツ ページの追加] リンクをクリックすると、コントロールを選択してページに追加できるカタログが表示されるようにすることもできます。そのようなコントロールの 1 つが、株価グラフ コントロールです。ユーザーはこのコントロールをページ上のいずれかのゾーンに追加し、既存の Stock Quotes コントロールに接続して、Stock Quotes コントロールに含まれるデータをグラフ化できます。
開発者が Web パーツを使用するシナリオ
一般に、開発者が Web パーツを使用するシナリオは 3 つあります。Web パーツ コントロールを使用するページを作成する場合、個々の Web パーツ コントロールを作成する場合、または、パーソナル化できる完全な Web アプリケーション (ポータルなど) を作成する場合です。
ページ開発
ページの開発者は、Microsoft Visual Studio 2005 などのビジュアル デザイン ツールを使用して、Web パーツを使用するページを作成できます。Visual Studio などのツールを使用する利点の 1 つは、Web パーツ コントロール セットに、ビジュアルなデザイナで Web パーツ コントロールをドラッグ アンド ドロップして作成したり構成したりする機能が用意されていることです。たとえば、デザイナを使用して Web パーツ ゾーンや Web パーツ エディタ コントロールをデザイン サーフェイスにドラッグした後で、Web パーツ コントロール セットに用意されている UI を使用してデザイナ内でそのままコントロールを構成できます。これにより、Web パーツ アプリケーションの開発の速度を向上させ、記述するコードの量を減らすことができます。
コントロール開発
標準の Web サーバー コントロール、カスタム サーバー コントロール、ユーザー コントロールなど、既存の任意の ASP.NET コントロールを Web パーツ コントロールとして使用できます。プログラムによって環境を最大限に制御するために、WebPart クラスから派生したカスタム Web パーツ コントロールを作成することもできます。通常、個々の Web パーツ コントロールの開発では、ユーザー コントロールを作成して Web パーツ コントロールとして使用するか、またはカスタム Web パーツ コントロールを作成します。
カスタム Web パーツ コントロールを作成する例としては、他の ASP.NET サーバー コントロールで提供されている、パーソナル化できる Web パーツ コントロールとしてパッケージ化すると便利な機能 (予定表、一覧、金融情報、ニュース、電卓、コンテンツを更新するためのリッチ テキスト コントロール、データベースに接続する編集可能なグリッド、表示を動的に更新するグラフ、気象情報、旅行情報など) を任意に組み合わせたコントロールを作成する場合があります。作成したコントロールをビジュアルなデザイナに提供すると、Visual Studio を使用しているすべてのページ開発者は、コントロールを Web パーツ ゾーンにドラッグするだけで、追加のコードを記述する必要なくデザイン時にコントロールを構成できます。
Web アプリケーション開発
完全に統合されたパーソナル化できる Web アプリケーション (ポータルなど) を開発するときは、Web パーツを最も包括的に使用します。MSN のような、ユーザーが UI とコンテンツを広範にパーソナル化できる機能を備えた Web サイトを開発できます。企業やポータル ホスト サービスを提供する有料 ISP が販売したり使用したりできるパッケージ アプリケーションを開発することすら可能です。
Web アプリケーション開発のシナリオでは、アプリケーションの管理とパーソナル化のための完全なソリューションをエンド ユーザーに提供できます。これには、サイトに必要な機能を提供する Web パーツ コントロールや、エンド ユーザーが一貫した方法で UI をパーソナル化できるようにする一貫したテーマとスタイルのセット、ページに表示する Web パーツ コントロールをユーザーが選択できる Web パーツ コントロールのカタログ、認証サービス、ロール ベースの管理 (たとえば、管理者ユーザーにすべてのユーザー向けの Web パーツ コントロールとサイト設定のパーソナル化を許可する) などが含まれます。
アプリケーションの各部分では、必要に応じて Web パーツ コントロール セットを拡張して、より詳細に環境を制御できます。たとえば、ページのプライマリ UI 用のカスタム Web パーツ コントロールを作成するだけでなく、アプリケーションの外観と操作性に整合したカスタム Web パーツ カタログを作成して、ユーザーがページにコントロールを追加する方法をより柔軟に選択できるようにすることもできます。また、ゾーン コントロールを拡張して、ゾーンに含まれる Web パーツ コントロールの UI オプションを追加することもできます。カスタム パーソナル化プロバイダを作成して、パーソナル化データの格納方法と管理方法をより柔軟に制御できるようにすることもできます。
参照
処理手順
チュートリアル : Visual Web Developer での Web パーツ ページの作成