次の方法で共有


LinqDataSource.WhereParameters プロパティ

定義

Where 句の作成に使用されるパラメーターのコレクションを取得します。

public:
 property System::Web::UI::WebControls::ParameterCollection ^ WhereParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection WhereParameters { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.WhereParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property WhereParameters As ParameterCollection

プロパティ値

ParameterCollection

Where 句を作成するために使用される、Where プロパティのパラメーターのコレクション。

実装

属性

次の例では、コレクションを使用 WhereParameters して Where 句を動的に作成する方法を示します。 コントロールは LinqDataSource 、コントロール内 Price のユーザーが選択した値より大きい列の値を持つすべてのレコードを DropDownList 返します。

<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="0"></asp:ListItem>
    <asp:ListItem Value="25"></asp:ListItem>
    <asp:ListItem Value="100"></asp:ListItem>
    <asp:ListItem Value="400"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price>@UserPrice"
    ID="LinqDataSource1" 
    runat="server">
    <WhereParameters>
        <asp:ControlParameter 
            Name="UserPrice" 
            DefaultValue="0" 
            ControlID="DropDownList1" 
            Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="0"></asp:ListItem>
    <asp:ListItem Value="25"></asp:ListItem>
    <asp:ListItem Value="100"></asp:ListItem>
    <asp:ListItem Value="400"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > @UserPrice"
    ID="LinqDataSource1" 
    runat="server">
    <WhereParameters>
        <asp:ControlParameter 
            Name="UserPrice" 
            DefaultValue="0" 
            ControlID="DropDownList1" 
            Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

注釈

コントロールは LinqDataSource コレクション内のパラメーターを WhereParameters 使用して、実行時に Where 句を作成します。 Where 句で 1 つ以上の WhereParameters 条件をプログラムで設定する場合は、パラメーターをコレクションに追加します。 たとえば、データベース テーブルで、コントロールの値と等しい姓を持つレコードを TextBox 検索できます。 その場合は、テキスト ボックス値のパラメーターを WhereParameters コレクションに追加します。

Where 句で実行時に値を設定する必要がない場合は、コレクションを WhereParameters 使用する必要はありません。 プロパティで取得するフィールドを Where 定義できます。 たとえば、マークアップで "Adams" と等しいデータベース テーブルLastNameから値を返すには、プロパティをWhere'LastName = "Adams"'パラメーターなしで設定します。

コレクション内の値を WhereParameters 設定するには、各パラメーターに名前を割り当て、そのパラメーターのプロパティにプレースホルダーを Where 追加します。 Where 句で、各パラメーター名の前に @記号を付けます。

適用対象