LinqDataSource.OrderByParameters Свойство

Определение

Возвращает коллекцию параметров, которые используются для создания предложения Order By.Gets the collection of parameters that are used to create the Order By clause.

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; }
member this.OrderByParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property OrderByParameters As ParameterCollection

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

Параметры, используемые для создания предложения ORDER BY.The parameters that are used for creating the Order By clause.

Атрибуты

Примеры

В следующем примере показан элемент управления LinqDataSource со свойством AutoGenerateOrderByClause, имеющим значение true.The following example shows a LinqDataSource control with the AutoGenerateOrderByClause property set to true. Параметр включается в коллекцию OrderByParameters, которая упорядочивает данные на основе имени свойства, которое пользователь выбирает из элемента управления DropDownList.A parameter is included in the OrderByParameters collection that orders the data based on the property name that a user selects from a DropDownList control.

<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 во время выполнения.The LinqDataSource control uses parameters in the OrderByParameters collection to create the Order By clause at run time. Обычно для свойства AutoGenerateOrderByClause устанавливается значение true при добавлении параметров в коллекцию OrderByParameters.Typically you set the AutoGenerateOrderByClause property to true when you add parameters to the OrderByParameters collection. Если свойство AutoGenerateOrderByClause имеет значение true, каждый параметр в коллекции OrderByParameters добавляется в предложение ORDER BY в последовательности, в которой они указаны в коллекции OrderByParameters.When the AutoGenerateOrderByClause property is set to true, each parameter in the OrderByParameters collection is added to the Order By clause in the sequence that they are specified in the OrderByParameters collection. Если свойство AutoGenerateOrderByClause true, параметры не должны быть именованы, так как они применяются последовательно и не соответствуют заполнительу.When the AutoGenerateOrderByClause property is true, the parameters do not have to be named because they are applied in sequence and are not matched to a placeholder.

Если не нужно задавать значение во время выполнения в предложении ORDER BY, не нужно использовать коллекцию OrderByParameters.If you do not have to set a value at run time in the Order By clause, you do not have to use the OrderByParameters collection. Можно определить поля, которые будут использоваться для упорядочивания данных в свойстве OrderBy.You can define the fields to use for ordering the data in the OrderBy property. Например, чтобы вернуть значения из таблицы базы данных, упорядоченной по LastName, задайте для параметра OrderBy значение LastName без параметров.For example, to return values from a database table ordered by LastName, set OrderBy to "LastName" without any parameters.

Вы можете задать параметры в коллекции OrderByParameters и сопоставить параметры с заполнителями в свойстве OrderBy, но этот подход имеет ограниченное приложение.You can set parameters in the OrderByParameters collection and match the parameters to placeholders in the OrderBy property, but this approach has limited application. При использовании такого подхода параметры в коллекции OrderByParameters не могут представлять имя столбца.When you use this approach, the parameters in the OrderByParameters collection cannot represent a column name. Можно задать для параметра значение, а затем сравнить это значение со значениями в свойстве.You can set a parameter to a value and then compare that value to values in a property. Например, можно упорядочить данные в зависимости от того, меньше ли значение в свойстве значения времени выполнения, представленного параметром.For example, you can order the data based on whether the values in a property are less than the run-time value represented by the parameter.

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