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 во время выполнения. Параметры добавляются в коллекцию WhereParameters , если требуется программно задать одно или несколько условий в предложении Where. Например, можно выполнить поиск в таблице базы данных записей с фамилией, равной TextBox значению элемента управления. В этом случае вы добавите параметр в коллекцию WhereParameters для значения текстового поля.

Если не нужно задавать значение во время выполнения в предложении Where, вам не нужно использовать коллекцию WhereParameters . Вы можете определить поля для получения в свойстве Where . Например, чтобы возвращать значения из таблицы базы данных, где LastName равно "Адамс" в разметке, задайте Where для свойства 'LastName = "Adams"' значение без каких-либо параметров.

Чтобы задать значения в WhereParameters коллекции, необходимо назначить имя каждому параметру, а затем добавить заполнитель в Where свойство для этого параметра. В предложении Where предусловите имя каждого параметра с символом @.

Применяется к