LinqDataSource.OrderByParameters Свойство

Определение

Возвращает коллекцию параметров, используемых для создания предложения Order By.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ OrderByParameters { 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 OrderByParameters { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.OrderByParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property OrderByParameters As ParameterCollection

Значение свойства

Параметры, используемые для создания предложения Order By.

Атрибуты

Примеры

В следующем примере показан LinqDataSource элемент управления с заданным trueсвойствомAutoGenerateOrderByClause. Параметр включается в OrderByParameters коллекцию, которая упорядочивает данные на основе имени свойства, выбранного пользователем DropDownList из элемента управления.

<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="Category"></asp:ListItem>
    <asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    AutoGenerateOrderByClause="true"
    ID="LinqDataSource1" 
    runat="server">
    <OrderByParameters>
      <asp:ControlParameter
         ControlID="DropDownList1" 
         Type="String" />
    </OrderByParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="Category"></asp:ListItem>
    <asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    AutoGenerateOrderByClause="true"
    ID="LinqDataSource1" 
    runat="server">
    <OrderByParameters>
      <asp:ControlParameter
         ControlID="DropDownList1" 
         Type="String" />
    </OrderByParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

Комментарии

Элемент LinqDataSource управления использует параметры в OrderByParameters коллекции для создания предложения Order By во время выполнения. Как правило, свойство присваивает AutoGenerateOrderByClausetrue значение при добавлении параметров в коллекцию OrderByParameters . AutoGenerateOrderByClause Если для свойства задано trueзначение, каждый параметр в OrderByParameters коллекции добавляется в предложение Order By в последовательности, указанной OrderByParameters в коллекции. AutoGenerateOrderByClause Если свойство имеет значениеtrue, параметры не должны называться, так как они применяются в последовательности и не соответствуют заполнителю.

Если в предложении Order By не требуется задать значение во время выполнения, вам не нужно использовать коллекцию OrderByParameters . Поля, используемые для упорядочивания данных в свойстве OrderBy , можно определить. Например, чтобы возвращать значения из таблицы базы данных, упорядоченной по LastName, задайте OrderBy значение LastName без каких-либо параметров.

Можно задать параметры в OrderByParameters коллекции и сопоставить параметры с заполнителями в свойстве OrderBy , но этот подход имеет ограниченное приложение. При использовании этого подхода параметры в OrderByParameters коллекции не могут представлять имя столбца. Параметр можно задать для значения, а затем сравнить это значение со значениями в свойстве. Например, можно упорядочить данные на основе того, меньше ли значения в свойстве меньше значения времени выполнения, представленного параметром.

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