LinqDataSource.OrderByParameters Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает коллекцию параметров, которые используются для создания предложения 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
Значение свойства
Параметры, используемые для создания предложения Order By.
- Атрибуты
Примеры
В следующем примере показан элемент управления LinqDataSource со свойством AutoGenerateOrderByClause, имеющим значение true
. Параметр включается в коллекцию OrderByParameters , которая упорядочивает данные на основе имени свойства, выбранного пользователем 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>
Комментарии
Элемент LinqDataSource управления использует параметры в OrderByParameters коллекции для создания предложения Order By во время выполнения. Обычно свойство задается AutoGenerateOrderByClause true
при добавлении параметров в коллекцию OrderByParameters . AutoGenerateOrderByClause Если свойству присвоено значениеtrue
, каждый параметр в коллекции добавляется в OrderByParameters предложение Order By в последовательности, указанной OrderByParameters в коллекции. AutoGenerateOrderByClause Если свойство имеет значениеtrue
, параметры не должны называться, так как они применяются в последовательности и не соответствуют заполнителю.
Если не нужно задавать значение во время выполнения в предложении Order By, вам не нужно использовать коллекцию OrderByParameters . Можно определить поля, используемые для упорядочивания данных в свойстве OrderBy . Например, чтобы возвращать значения из таблицы базы данных, упорядоченной по LastName
, задайте OrderBy значение LastName без каких-либо параметров.
Вы можете задать параметры в OrderByParameters коллекции и сопоставить параметры с заполнителями в свойстве OrderBy , но этот подход имеет ограниченное приложение. При использовании этого подхода параметры в OrderByParameters коллекции не могут представлять имя столбца. Можно задать для параметра значение, а затем сравнить это значение со значениями в свойстве. Например, можно упорядочить данные в зависимости от того, меньше ли значения в свойстве, чем значение времени выполнения, представленное параметром.