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 свойств. Свойство FilterExpressionSqlDataSource элемента управления применяется в любой момент, когда Select метод выполняется для извлечения данных. В этом примере FilterExpression свойство содержит заполнитель для параметра фильтра, который содержится в FilterParameters коллекции. В этом примере параметр фильтра является ControlParameter объектом, привязанным к SelectedValue свойству DropDownList элемента управления. Так как элемент DropDownList управления имеет его AutoPostBack свойство true, любое изменение 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 в качестве меры безопасности для ограничения количества возвращаемых элементов, необходимо проверить значения параметров перед фильтрацией.