ASP.NET データ アクセスの概要
更新 : 2007 年 11 月
Web アプリケーションは、動的なデータを格納および取得するために一般にデータ ソースにアクセスします。データにアクセスする場合は、System.Data 名前空間 (一般に ADO.NET と呼ばれる) と System.Xml 名前空間のクラスを使用してコードを記述します。この方法は、ASP.NET の以前のバージョンで一般的に使用されていました。
ただし、ASP.NET では宣言によってデータをバインドすることもできます。この方法では、次のような一般的なデータ シナリオでコードをまったく記述する必要がありません。
データを選択して表示する。
データの並べ替え、ページング、およびキャッシュ。
データの更新、挿入、および削除。
実行時のパラメータを使用してデータをフィルタする。
パラメータを使用してマスター/詳細シナリオを作成する。
ASP.NET には、宣言的なデータ バインド モデルに使用するデータ ソース コントロールとデータ バインド コントロールという 2 種類のサーバー コントロールが含まれます。これらのコントロールは、ASP.NET Web ページのデータを表示および更新するためにステートレス Web モデルが必要とする基になるタスクを管理します。これによって、データをバインドするだけのために、ページ要求のライフサイクルの詳細を理解する必要がなくなります。
データ ソース コントロール
データ ソース コントロールは、データ ソースに接続してデータを読み書きするタスクを管理する ASP.NET コントロールです。データ ソース コントロールは、ユーザー インターフェイスをレンダリングしませんが、特定のデータ ストア (データベース、ビジネス オブジェクト、XML ファイルなど) と ASP.NET Web ページのその他のコントロール間を仲介します。データ ソース コントロールは、クエリ、並べ替え、ページング、フィルタ処理、更新、削除、挿入を含むデータの取得および変更のための豊富な機能を提供します。ASP.NET には、次のデータ ソース コントロールが含まれます。
データ ソース コントロール |
説明 |
---|---|
Microsoft Access データベースで使用できます。 詳細については、「AccessDataSource Web サーバー コントロールの概要」を参照してください。 |
|
ASP.NET Web ページで宣言マークアップを通じて統合言語クエリ (LINQ) を使用し、データ オブジェクトのデータを取得したり変更できるようにします。選択、更新、挿入、および削除の各コマンドの自動生成をサポートします。並べ替え、フィルタ処理、およびページングもサポートします。 |
|
ビジネス オブジェクトまたはその他のクラスと共に使用し、中間層オブジェクトに依存する Web アプリケーションを作成してデータを管理します。 詳細については、「ObjectDataSource Web サーバー コントロールの概要」を参照してください。 |
|
ASP.NET サイト ナビゲーションで使用します。詳細については、「ASP.NET サイト ナビゲーションの概要」を参照してください。 |
|
Microsoft SQL Server、OLE DB、ODBC、または Oracle データベースへのアクセスを提供する ADO.NET マネージ データ プロバイダを使用できます。 詳細については、「SqlDataSource Web サーバー コントロールの概要」を参照してください。 |
|
TreeView コントロール、Menu コントロールなどの階層的な ASP.NET サーバー コントロールで特に有効な XML ファイルを使用できます。 詳細については、「XmlDataSource Web サーバー コントロールの概要」を参照してください。 |
データ ソース コントロールは、追加のデータ アクセス ストレージ プロバイダをサポートするように拡張できます。
データ ソース コントロールの詳細については、「データ ソース コントロールの概要」を参照してください。
データ バインド コントロール
データ バインド コントロールは、要求元のブラウザにデータをマークアップとしてレンダリングします。データ バインド コントロールはデータ ソース コントロールにバインドして、ページ要求ライフサイクルの適切な時期に自動的にデータを取得できます。データ バインド コントロールでは、並べ替え、ページング、キャッシュ、フィルタ処理、更新、削除、および挿入を含むデータ ソース コントロールが提供する機能を使用できます。データ バインド コントロールは、DataSourceID プロパティを使用してデータ ソース コントロールに接続します。
ASP.NET には、次の表に説明されているデータ バインド コントロールが含まれます。
リスト コントロール
各種のリスト形式でデータをレンダリングします。リスト コントロールには、BulletedList、CheckBoxList、DropDownList、ListBox、および RadioButtonList の各コントロールが含まれます。AdRotator
ページの通知をイメージとしてレンダリングします。ユーザーは、このイメージをクリックして通知に関連付けられている URL に移動できます。詳細については、「AdRotator Web サーバー コントロールの概要」を参照してください。
DataList
テーブルのデータをレンダリングします。各項目は、各自が定義する項目テンプレートを使用してレンダリングされます。詳細については、「DataList Web サーバー コントロールの概要」を参照してください。
DetailsView
表形式のレイアウトにレコードを一度に 1 つずつ表示し、レコードを編集、削除、および挿入できるようにします。また、ページをわたって複数のレコード間を移動することもできます。詳細については、「DetailsView Web サーバー コントロールの概要」を参照してください。
FormView
DetailsView コントロールに似ていますが、各レコードを自由フォームのレイアウトで定義できます。FormView コントロールは、単一レコードの DataList コントロールに似ています。詳細については、「FormView Web サーバー コントロールの概要」を参照してください。
GridView
テーブルにデータを表示し、コードを記述しないデータの編集、更新、削除、並べ替え、およびページングをサポートします。メモ : GridView コントロールは、以前のバージョンの ASP.NET の ASP.NET DataGrid コントロールに代わるものです。
詳細については、「GridView Web サーバー コントロールの概要」を参照してください。
ListView
テンプレートを使用して、データ レイアウトを定義できます。自動的な並べ替え、編集、挿入、および削除操作をサポートします。関連付けられている DataPager コントロールを使用して、ページングを有効にすることもできます。詳細については、「ListView Web サーバー コントロールの概要」を参照してください。
Menu
サブメニューを含めることができる階層的な動的メニューのデータをレンダリングします。詳細については、「メニュー コントロールの概要」を参照してください。
Repeater
リストのデータをレンダリングします。各項目は、各自が定義する項目テンプレートを使用してレンダリングされます。詳細については、「Repeater Web サーバー コントロールの概要」を参照してください。
TreeView
拡張可能なノードの階層ツリー構造のデータをレンダリングします。詳細については、「TreeView Web サーバー コントロールの概要」を参照してください。
メモ : |
---|
ASP.NET Version 1.0 および Version 1.1 で使用していた DataGrid コントロールは、データの並べ替え、ページング、および変更の機能が拡張されている GridView コントロールに置き換えられました。DataGrid コントロールを使用する既存のページは、これまでどおり動作します。他のデータ コントロールと同様に、DataGrid コントロールもデータ ソース コントロールと対話できるように強化されています。 |
メモ : |
---|
ListView コントロールは、Repeater コントロールおよび DataList コントロールに代わるものです。これらのコントロールを使用する既存のページは、これまでどおり動作します。ListView コントロールを使用すると、多数の一般的なシナリオを簡単に実装できます。 |
詳細については、「ASP.NET のデータ バインド Web サーバー コントロールの概要」を参照してください。
LINQ
統合言語クエリ (LINQ: Language-Integrated Query) は、さまざまな種類のデータ ソースからのデータを照会および更新するための統一プログラミング モデルを提供し、C# 言語および Visual Basic 言語にデータ機能を直接拡張します。LINQ では、オブジェクト指向プログラミングの原則をリレーショナル データに適用します。LINQ を操作するには、LinqDataSource コントロールを使用します。直接 LINQ クエリを作成して、Web ページからデータにアクセスすることもできます。詳細については、「ASP.NET での LINQ の使用」を参照してください。
ダイナミック データ
ASP.NET Dynamic Data は、データ ドリブン ASP.NET Web アプリケーションの迅速な作成を可能にするフレームワークです。Dynamic Data は、実行時にデータ モデルを自動的に検出し、データ モデルから UI 動作を決定します。スキャフォールディング フレームワークは、データの表示と編集のための実用的な Web サイトを即座に提供します。このスキャフォールディングは、メタデータやテンプレートを使用するか、標準的な ASP.NET ページを作成して既定の動作をオーバーライドすることでカスタマイズできます。既存の ASP.NET Web アプリケーションでは、スキャフォールディング ロジックを Web ページに簡単に統合できます。Dynamic Data の詳細については、「ASP.NET Dynamic Data の使用」を参照してください。