LinqDataSource.WhereParameters Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.