LinqDataSource.OrderByParameters Właściwość

Definicja

Pobiera kolekcję parametrów używanych do tworzenia klauzuli 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

Wartość właściwości

Parametry używane do tworzenia klauzuli Order By.

Atrybuty

Przykłady

W poniższym przykładzie pokazano kontrolkę LinqDataSource z właściwością ustawioną AutoGenerateOrderByClause na truewartość . Parametr jest uwzględniany w OrderByParameters kolekcji, która porządkuje dane na podstawie nazwy właściwości wybranej przez użytkownika z kontrolki 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>

Uwagi

Kontrolka LinqDataSource używa parametrów w OrderByParameters kolekcji do utworzenia klauzuli Order By w czasie wykonywania. Zazwyczaj właściwość jest ustawiana AutoGenerateOrderByClause na true wartość podczas dodawania parametrów do kolekcji OrderByParameters . Gdy właściwość jest ustawiona AutoGenerateOrderByClause na truewartość , każdy parametr w OrderByParameters kolekcji jest dodawany do klauzuli Order By w sekwencji określonej w kolekcji OrderByParameters . AutoGenerateOrderByClause Gdy właściwość ma truewartość , parametry nie muszą być nazwane, ponieważ są stosowane w sekwencji i nie są dopasowywane do symbolu zastępczego.

Jeśli nie musisz ustawiać wartości w czasie wykonywania w klauzuli Order By, nie musisz używać kolekcji OrderByParameters . Pola, które mają być używane do porządkowania danych we OrderBy właściwości . Na przykład, aby zwrócić wartości z tabeli bazy danych uporządkowanej przez LastName, ustaw wartość OrderBy "LastName" bez żadnych parametrów.

Parametry w OrderByParameters kolekcji można ustawić i dopasować parametry do symboli zastępczych we OrderBy właściwości, ale takie podejście ma ograniczoną aplikację. W przypadku korzystania z tej metody parametry w OrderByParameters kolekcji nie mogą reprezentować nazwy kolumny. Możesz ustawić parametr na wartość, a następnie porównać wartość z wartościami we właściwości. Na przykład można uporządkować dane na podstawie tego, czy wartości we właściwości są mniejsze niż wartość czasu wykonywania reprezentowana przez parametr .

Dotyczy