方法 : 宣言構文を使用した Web ページ内のデータをフィルター処理します。
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
QueryExtender コントロールを使用しては、データ ソースで明示的なクエリを作成することがなく、データ ソースから取得されるデータのフィルターを作成することができます。 データのフィルターだけ宣言構文を使用する Web ページのマークアップで QueryExtender コントロールを使用することができます。 データのフィルター、QueryExtender コントロール内で、次の式の種類の 1 つ以上を使用すると。
これら式の種類や追加のフィルター表現は、ASP.NET の動的なデータ アプリケーションでサポートされていません。 詳細については、「QueryExtender の Web サーバー コントロールの概要」を参照してください。
宣言構文を使用して Web ページにデータをフィルター
Visual Studio または Visual Web Developer を使用して、Web サイトを作成または Web アプリケーション。
追加またはデータベースに接続します。
Web サイトまたは Web アプリケーションのデータ モデルを作成します。
注意
QueryExtender コントロールは、LINQ to SQL および Entity Framework のデータ ソースをサポートします。
データ ソース コントロールを Web ページに追加し、使用するデータベース テーブルを処理するデータ ソースを構成します。
LinqDataSource 、 AdventureWorksDataContext という名前のデータ コンテキストを使用して、AdventureWorks データベース内の商品テーブルを扱うように構成されているコントロールのマークアップを次の例に示します。
<asp:LinqDataSource ID="LinqDataSource1" ContextTypeName="AdventureWorksDataContext" TableName="Products" runat="server"> </asp:LinqDataSource>
QueryExtender コントロールをページに追加し、 TargetControlID プロパティをデータ ソース コントロールの ID に設定して、データ ソースに接続します。
LinqDataSource1 データ ソース コントロールにバインドされているクエリ エクステンダー コントロールのマークアップを次の例に示します。
<asp:QueryExtender runat="server" TargetControlID="LinqDataSource1"> </asp:QueryExtender>
QueryExtender コントロールにフィルターを追加します。
次の例を示します、クエリのエクステンダー コントロールに追加されている SearchExpression 要素 (フィルター)。 要素は、[名前] 列のフィルターを定義します。 実行時に検索するには名前が提供されます。
<asp:QueryExtender runat="server" TargetControlID="LinqDataSource1"> <asp:SearchExpression SearchType="Contains" DataFields="Name" > </asp:SearchExpression> </asp:QueryExtender>
クエリ パラメーターには、値を提供し、このコントロールは ControlIDControlParameter コントロールのプロパティを設定することによってパラメーターを使用するフィルターに接続する ASP.NET コントロールを追加します。
The following example shows the markup for a search expression that uses the SearchTextBoxTextBox control to accept user input as a parameter.
Search: <asp:TextBox ID="SearchTextBox" runat="server" /> <asp:QueryExtender runat="server" TargetControlID="LinqDataSource1"> <asp:SearchExpression SearchType="Contains" DataFields="Name" > <asp:ControlParameter ControlID="SearchTextBox" /> </asp:SearchExpression> </asp:QueryExtender>
データ コントロールをページ上に、フィルター処理されたデータを表示し、コントロールをデータ ソースに接続を追加します。 たとえば、GridView コントロール データ ソースから返されるフィルター処理されたデータを表示を追加することができます。
次の例は、データ ソース コントロールによって返されるデータを表示する GridView コントロールのマークアップに示します。 GridView コントロールで定義したフィルターを使用するコントロールが LinqDataSource1 コントロールからのデータを取得します。
<asp:GridView ID="GridView1" runat="server" DataSourceID="LinqDataSource1" AllowPaging="True"> </asp:GridView>
使用例
ここで記載されている完全なマークアップの例を示します。 SearchExpression を使用して、AdventureWorks サンプル データベースの [名前] 列を検索します。 SearchTextBox コントロールに入力されている文字列で始まる製品名を検索、フィルターします。
<body>
<form id="form1" runat="server">
Search:<asp:TextBox ID="SearchTextBox" runat="server" />
<p>
<asp:Button ID="Button1" runat="server" Text="Search" />
</p>
<asp:LinqDataSource ID="LinqDataSource1"
ContextTypeName="FilterDemo.AdventureWorksDataContext"
TableName="Products" runat="server">
</asp:LinqDataSource>
<asp:QueryExtender runat="server"
TargetControlID="LinqDataSource1">
<asp:SearchExpression SearchType="StartsWith" DataFields="Name" >
<asp:ControlParameter ControlID="SearchTextBox" />
</asp:SearchExpression>
</asp:QueryExtender>
<asp:GridView ID="GridView1" runat="server"
DataSourceID="LinqDataSource1" AllowPaging="True">
</asp:GridView>
</form>
</body>
コードのコンパイル方法
例のコードをコンパイルする必要があります、次。
Visual Studio 2010 または Visual Web Developer 2010 Express
SQL Server の高速です。 SQL Server がインストールされている場合、SQL Server も使用できますが、いくつかの手順を微調整する必要があります。
AdventureWorks サンプル データベース。 データベース ファイルを Web サイトに追加の.mdf ファイルに接続してください。 Visual Studioでデータベースに接続する方法について、 方法 : .MDF ファイルを使用して、AdventureWorksLT データベースへの接続します。 を参照してください。 また、AdventureWorks サンプル データベースをダウンロードし、Visual Studio でそれに接続できます。 AdventureWorks をインストールして Visual Studioで、接続の作成については、 方法 : ASP.NET 開発用に、AdventureWorksLT サンプル データベースを設定します。 を参照してください。
参照
処理手順
方法 : QueryExtender の Web サーバー コントロールを使用して、Web ページでユーザー設定のクエリを作成します。