LinqDataSource.WhereParameters Property

Definition

Gets the collection of parameters that is used to create the Where clause.

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

Property Value

A collection of the parameters that are used to create the Where clause in the Where property.

Implements

Attributes

Examples

The following example shows how to use the WhereParameters collection to dynamically create the Where clause. The LinqDataSource control returns all the records with a value in the Price column that is greater than the value selected by the user in a DropDownList control.

<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>

Remarks

The LinqDataSource control uses parameters in the WhereParameters collection to create the Where clause at run time. You add parameters to the WhereParameters collection when you want to programmatically set one or more of the conditions in the Where clause. For example, you might search a database table for records with a last name equal to the value of a TextBox control. In that case, you add a parameter to the WhereParameters collection for the text box value.

If you do not have to set a value at run time in the Where clause, you do not have to use the WhereParameters collection. You can define the fields to retrieve in the Where property. For example, to return values from a database table where LastName equals "Adams" in markup, set the Where property to 'LastName = "Adams"' without any parameters.

To set values in the WhereParameters collection, you assign a name to each parameter and then add a placeholder in the Where property for that parameter. In the Where clause, preface each parameter name with the @ symbol.

Applies to