更新 : 2007 年 11 月
ListView、FormView、DetailsView、および GridView の Web サーバー コントロールを EntityDataSource コントロールと共に使用すると、自動的な読み取り、挿入、更新、および削除の各機能が提供されるようになります。これらのコントロールのデザイン サーフェイスでは、簡単に HTML 要素を構成し、EntityDataSource コントロールへのデータ バインドを設定できます。
EntityDataSource への Web サーバー コントロールのバインド
ListView、FormView、DetailsView、および GridView の各コントロールは、設計がよく似ています。これらのいずれかの Web サーバー コントロールを EntityDataSource コントロールにバインドするには、次の手順を使用します。
ASP.NET Web アプリケーションを作成します。
Entity Framework を使用するようにプロジェクトを構成します。EDM (Entity Data Model) をプロジェクトに定義し、プロジェクトを再構築します。詳細については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」を参照してください。
Web ページ デザイン サーフェイスにコントロールをドラッグします。
EntityDataSource を構成します。詳細については、「EntityDataSource コントロールの構成」を参照してください。
EntityDataSource コントロールを使用するようにコントロールを構成します。
![]() |
---|
Web サーバー コントロール デザイナには、エンティティ オブジェクトのナビゲーション プロパティの処理に関する制限があります。これに対処するために、分離コード ページを手動で編集して、項目テンプレートのナビゲーション プロパティ名から角かっこ ([]) を削除する必要があります。 |
次の手順では、EntityDataSource コントロールにバインドされた ListView コントロールを作成します。この手順を完了するには、Entity Framework が構成済みで、AdventureWorks Sales モデルが定義されている必要があります。詳細については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」を参照してください。
EntityDataSource にバインドされた ListView コントロールを作成するには
プロジェクトとデータ モデルを作成します。
ListView コントロールのインスタンスをデザイン サーフェイスにドラッグします。
ListView コントロール上の [>] をクリックし、[データ ソースの選択] をクリックします。
ドロップダウン リストの [<新しいデータ ソース>] をクリックします。
データ ソースの構成ウィザードが表示されたら、[エンティティ] を選択します。データ ソースの名前として「SalesOrderHeaderDataSource」を指定し、[OK] をクリックします。
[名前付き接続] と [DefaultContainerName] の両方で [AdventureWorksEntities] を選択し、[次へ] をクリックします。
[EntitySetName] ボックスの一覧の [SalesOrderHeader] をクリックします。[すべて選択 (エンティティ値)] チェック ボックスはオンのままにして、自動挿入、更新、および削除に対応するチェック ボックスをオンにします。
[完了] をクリックします。
EntityDataSource コントロールにバインドされた新しい ListView コントロールのインスタンスが、EntityDataSource1 という名前で作成されます。
SalesOrderHeaderDataSource のプロパティ ページで、[Include] プロパティを見つけ、次の文字列を追加します。
Address, Address1, Contact
これにより、クエリから返されるそれぞれの SalesOrderHeader オブジェクトについて、関連する Address オブジェクトと Contact オブジェクトも返されるようになります。詳細については、「クエリ パスの定義 (EntityDataSource)」を参照してください。
[ListView タスク] ボックスの [ListView の構成] をクリックします。
[編集を有効にする]、[挿入を有効にする]、[削除を有効にする]、および [ページングを有効にする] の各チェック ボックスをオンにします。
[OK] をクリックします。
メモ :
この段階でアプリケーションを実行できます。ただし、Web サーバー コントロール デザイナには、エンティティ オブジェクトのナビゲーション プロパティの処理に関する制限があるため、次の手順を実行する必要があります。
ソース ビューで Default.aspx ファイルを開きます。
Address.AddressID、Address1.AddressID、および Contact.ID の各インスタンスを囲む角かっこ ([]) をすべて削除します。これらの型は、ItemTemplate および InsertItemTemplate で、Eval 関数と Bind 関数が記述されているすべての箇所に出現します。
プロジェクトをリビルドし、アプリケーションを実行します。
参照
概念
ASP.NET のデータ バインド Web サーバー コントロールの概要