Compartilhar via


LinqDataSource.OrderByParameters Propriedade

Definição

Obtém a coleção de parâmetros usados para criar a cláusula 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

Valor da propriedade

ParameterCollection

Os parâmetros usados para criar a cláusula Order By.

Atributos

Exemplos

O exemplo a seguir mostra um LinqDataSource controle com a AutoGenerateOrderByClause propriedade definida como true. Um parâmetro é incluído na OrderByParameters coleção que ordena os dados com base no nome da propriedade que um usuário seleciona de um DropDownList controle.

<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>

Comentários

O LinqDataSource controle usa parâmetros na OrderByParameters coleção para criar a cláusula Order By em tempo de execução. Normalmente, você define a AutoGenerateOrderByClause propriedade para true quando você adiciona parâmetros à OrderByParameters coleção. Quando a AutoGenerateOrderByClause propriedade é definida como true, cada parâmetro na OrderByParameters coleção é adicionado à cláusula Order By na sequência especificada na OrderByParameters coleção. Quando a AutoGenerateOrderByClause propriedade é true, os parâmetros não precisam ser nomeados porque são aplicados em sequência e não são correspondentes a um espaço reservado.

Se você não precisar definir um valor em tempo de execução na cláusula Order By, não precisará usar a OrderByParameters coleção. Você pode definir os campos a serem usados para ordenar os dados na OrderBy propriedade. Por exemplo, para retornar valores de uma tabela de banco de dados ordenada por LastName, defina OrderBy como "LastName" sem parâmetros.

Você pode definir parâmetros na OrderByParameters coleção e corresponder os parâmetros aos espaços reservados na OrderBy propriedade, mas essa abordagem tem um aplicativo limitado. Quando você usa essa abordagem, os parâmetros na OrderByParameters coleção não podem representar um nome de coluna. Você pode definir um parâmetro para um valor e comparar esse valor com valores em uma propriedade. Por exemplo, você pode ordenar os dados com base em se os valores em uma propriedade são menores do que o valor de tempo de execução representado pelo parâmetro.

Aplica-se a