LinqDataSource.AutoGenerateWhereClause プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
LinqDataSource コントロールが WhereParameters コレクションに定義された値に基づいて Where 句を動的に作成するかどうかを示す値を取得または設定します。
public:
property bool AutoGenerateWhereClause { bool get(); void set(bool value); };
public bool AutoGenerateWhereClause { get; set; }
member this.AutoGenerateWhereClause : bool with get, set
Public Property AutoGenerateWhereClause As Boolean
プロパティ値
LinqDataSource コントロールが Where 句を作成する場合は true
。それ以外の場合は false
。 既定値は、false
です。
実装
例
次の例は、次に設定true
されたLinqDataSourceコントロールをAutoGenerateWhereClause示しています。 GridViewコントロールは、クエリから返されるデータを表示するためにコントロールにバインドLinqDataSourceされます。 DropDownList 3 つの値が設定されたコントロールが含まれています。 パラメーターは、データ オブジェクトのいずれかのプロパティに一致する名前が設定Category,
されたコレクションに含まれますWhereParameters。 その ControlID プロパティは、コントロールの ID に設定されます DropDownList 。 コントロールは LinqDataSource 、ユーザーが Where コントロールから選択した値に基づいてレコードをフィルター処理するプロパティを自動的に DropDownList 作成します。 このクエリは、ユーザーが Category
コントロールから選択した値と一致するプロパティを持つレコードを DropDownList 返します。
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Sports"></asp:ListItem>
<asp:ListItem Value="Garden"></asp:ListItem>
<asp:ListItem Value="Auto"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateWhereClause="true"
ID="LinqDataSource1"
runat="server">
<WhereParameters>
<asp:ControlParameter
Name="Category"
ControlID="DropDownList1"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
注釈
プロパティtrue
をAutoGenerateWhereClause設定すると、コントロールはコレクション内のLinqDataSourceパラメーターから Where 句を動的にWhereParameters作成します。 コレクションに追加する WhereParameters 各パラメーターには Name 、クエリ対象のデータ オブジェクト内のプロパティと一致する値にプロパティが設定されている必要があります。 自動的に生成された Where 句は、コレクションで WhereParameters 指定された値がデータ オブジェクト内の一致するプロパティの値と等しいかどうかを確認します。 複数のパラメーターを指定した場合、パラメーターは論理 AND
操作にリンクされます。 Where 句には、値を含む null
パラメーターまたは空の値は含まれません。
自動的に生成される Where 句は、等しいかどうかをテストすることしかできません。また、パラメーターを操作と AND
のみリンクできます。 等しいかどうかをテストしない条件を追加する必要がある場合、またはパラメーターを操作に関連付ける必要がある場合は、プロパティtrue
をOR
設定AutoGenerateWhereClauseしないでください。 これらのタスクを実行するには、プロパティfalse
をAutoGenerateWhereClause設定し、コレクション内の各パラメーターのWhereプロパティにプレースホルダーをWhereParameters追加します。 Whereこのプロパティでは、各プレースホルダー名の前に @ 記号を付けます。
プロパティがあるWhere場合、パーサーは true
Where 句をAutoGenerateWhereClause動的に作成するため、プロパティを設定しません。 LinqDataSourceプロパティが存在し、プロパティに値がAutoGenerateWhereClausetrue
割り当てられている場合、コントロールは例外をWhereスローします。