LinqDataSource.OrderByParameters Proprietà

Definizione

Ottiene l'insieme di parametri usati per creare la clausola 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

Valore della proprietà

ParameterCollection

Parametri utilizzati per la creazione della clausola Order By.

Attributi

Esempio

Nell'esempio seguente viene illustrato un controllo LinqDataSource con la proprietà AutoGenerateOrderByClause impostata su true. Un parametro è incluso nella OrderByParameters raccolta che ordina i dati in base al nome della proprietà selezionato da un utente da un DropDownList controllo.

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

Commenti

Il LinqDataSource controllo usa i parametri nella OrderByParameters raccolta per creare la clausola Order By in fase di esecuzione. In genere si imposta la AutoGenerateOrderByClause proprietà su true quando si aggiungono parametri all'insieme OrderByParameters . Quando la AutoGenerateOrderByClause proprietà è impostata su true, ogni parametro dell'insieme OrderByParameters viene aggiunto alla clausola Order By nella sequenza specificata nell'insieme OrderByParameters . Quando la AutoGenerateOrderByClause proprietà è true, i parametri non devono essere denominati perché vengono applicati in sequenza e non corrispondono a un segnaposto.

Se non è necessario impostare un valore in fase di esecuzione nella clausola Order By, non è necessario utilizzare la OrderByParameters raccolta. È possibile definire i campi da utilizzare per ordinare i dati nella OrderBy proprietà . Ad esempio, per restituire valori da una tabella di database ordinata da LastName, impostare su OrderBy "LastName" senza parametri.

È possibile impostare i parametri nella OrderByParameters raccolta e associare i parametri ai segnaposto nella OrderBy proprietà, ma questo approccio ha un'applicazione limitata. Quando si usa questo approccio, i parametri nella OrderByParameters raccolta non possono rappresentare un nome di colonna. È possibile impostare un parametro su un valore e quindi confrontarlo con i valori in una proprietà. Ad esempio, è possibile ordinare i dati in base al fatto che i valori di una proprietà siano inferiori al valore di runtime rappresentato dal parametro .

Si applica a