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