LinqDataSource.OrderByParameters Propiedad

Definición

Obtiene la colección de parámetros que se usan para crear la 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 de propiedad

ParameterCollection

Parámetros que se usan para crear la cláusula Order By.

Atributos

Ejemplos

En el ejemplo siguiente se muestra un control LinqDataSource con la propiedad AutoGenerateOrderByClause establecida en true. Un parámetro se incluye en la OrderByParameters colección que ordena los datos según el nombre de propiedad que un usuario selecciona de un 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>

Comentarios

El LinqDataSource control usa parámetros en la OrderByParameters colección para crear la cláusula Order By en tiempo de ejecución. Normalmente, se establece la AutoGenerateOrderByClause propiedad true en cuando se agregan parámetros a la OrderByParameters colección. Cuando la AutoGenerateOrderByClause propiedad se establece trueen , cada parámetro de la OrderByParameters colección se agrega a la cláusula Order By de la secuencia especificada en la OrderByParameters colección. Cuando la AutoGenerateOrderByClause propiedad es true, los parámetros no tienen que denominarse porque se aplican en secuencia y no coinciden con un marcador de posición.

Si no tiene que establecer un valor en tiempo de ejecución en la cláusula Order By, no es necesario usar la OrderByParameters colección. Puede definir los campos que se usarán para ordenar los datos en la OrderBy propiedad . Por ejemplo, para devolver valores de una tabla de base de datos ordenada por LastName, establezca OrderBy en "LastName" sin parámetros.

Puede establecer parámetros en la OrderByParameters colección y hacer coincidir los parámetros con los marcadores de posición de la OrderBy propiedad, pero este enfoque tiene una aplicación limitada. Cuando se usa este enfoque, los parámetros de la OrderByParameters colección no pueden representar un nombre de columna. Puede establecer un parámetro en un valor y, a continuación, comparar ese valor con los valores de una propiedad. Por ejemplo, puede ordenar los datos en función de si los valores de una propiedad son menores que el valor en tiempo de ejecución representado por el parámetro .

Se aplica a