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

属性值

用于创建 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 子句中 WhereParameters 以编程方式设置一个或多个条件,则可以向集合添加参数。 例如,可以在数据库表中搜索姓氏等于 控件值的 TextBox 记录。 在这种情况下,请将参数添加到 WhereParameters 文本框值的集合中。

如果不必在运行时在 Where 子句中设置值,则不必使用 WhereParameters 集合。 可以在 属性中定义要检索的 Where 字段。 例如,若要从标记中等于“Adams”的数据库表中 LastName 返回值,请将 Where 属性设置为 'LastName = "Adams"' 而不使用任何参数。

若要在集合中 WhereParameters 设置值,请为每个参数分配一个名称,然后在该参数的 Where 属性中添加一个占位符。 在 Where 子句中,每个参数名称前加上 @ 符号。

适用于