SqlDataSourceView.FilterExpression Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает выражение фильтра для применения при вызове метода Select.
public:
property System::String ^ FilterExpression { System::String ^ get(); void set(System::String ^ value); };
public string FilterExpression { get; set; }
member this.FilterExpression : string with get, set
Public Property FilterExpression As String
Значение свойства
Строка, которая представляет выражение фильтрации, применяемое при получении данных с помощью метода Select(DataSourceSelectArguments).
Исключения
Свойство FilterExpression было задано, когда объект SqlDataSource находился в режиме DataReader.
Примеры
В следующем примере кода показано, как извлечь данные из базы данных Northwind и отфильтровать их с помощью FilterExpression свойств и FilterParameters свойств. Свойство FilterExpression SqlDataSource элемента управления применяется при каждом Select выполнении метода для извлечения данных. В этом примере FilterExpression свойство содержит заполнитель параметра фильтра, который содержится в FilterParameters коллекции. В этом примере параметр фильтра является ControlParameter объектом, привязанным к SelectedValue свойству DropDownList элемента управления. Так как для DropDownList элемента управления задано true
свойствоAutoPostBack, любое изменение выделения DropDownList приводит к тому, что страница будет отправляться на сервер, а GridView элемент управления повторно привязывался к элементу управления источником данных с помощью нового фильтра.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem Selected="True">Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource>
<p><asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView></p>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem Selected="True">Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource>
<p><asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView></p>
</form>
</body>
</html>
Комментарии
Синтаксис, используемый для FilterExpression свойства, является синтаксисом в стиле строки формата. В свойство можно включить параметры FilterExpression . Если тип параметра является строкой или символом, заключите параметр в одинарные кавычки. Кавычки не требуются, если параметр является числовым типом.
Коллекция FilterParameters содержит параметры, вычисляемые для заполнителей, найденных в свойстве FilterExpression .
Элемент SqlDataSource управления поддерживает фильтрацию данных только в DataSet
режиме.
Значение FilterExpression свойства хранится в состоянии представления.
Важно!
Необходимо проверить любое значение параметра фильтра, полученное от клиента. Среда выполнения просто заменяет значение параметра в выражение фильтра и применяет его к объекту DataView , возвращаемого Select методом. Если свойство используется FilterExpression в качестве меры безопасности для ограничения количества возвращаемых элементов, необходимо проверить значения параметров перед фильтрацией.