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

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

ParameterCollection

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

Атрибуты

Примеры

В следующем примере показан элемент управления LinqDataSource со свойством AutoGenerateOrderByClause, имеющим значение true. Параметр включается в коллекцию 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 во время выполнения. Обычно свойство задается AutoGenerateOrderByClause true при добавлении параметров в коллекцию OrderByParameters . AutoGenerateOrderByClause Если свойству присвоено значениеtrue, каждый параметр в коллекции добавляется в OrderByParameters предложение Order By в последовательности, указанной OrderByParameters в коллекции. AutoGenerateOrderByClause Если свойство имеет значениеtrue, параметры не должны называться, так как они применяются в последовательности и не соответствуют заполнителю.

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

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

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