Поделиться через


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

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

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

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