SqlDataSourceView.FilterExpression Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wyrażenie filtrowania, które jest stosowane po wywołaniu Select metody.
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
Wartość właściwości
Ciąg reprezentujący wyrażenie filtrowania stosowane podczas pobierania danych przy użyciu Select(DataSourceSelectArguments) metody .
Wyjątki
Właściwość została ustawiona FilterExpression , gdy SqlDataSource właściwość jest w trybie DataReader .
Przykłady
Poniższy przykład kodu przedstawia sposób pobierania danych z bazy danych Northwind i filtrowania ich przy użyciu FilterExpression właściwości i FilterParameters . Właściwość FilterExpression kontrolki SqlDataSource jest stosowana za każdym razem, gdy Select metoda jest wykonywana w celu pobrania danych. W tym przykładzie FilterExpression właściwość zawiera symbol zastępczy parametru filtru, który znajduje się w kolekcji FilterParameters . W tym przykładzie parametr filtru jest obiektem ControlParameter powiązanym z właściwością SelectedValue kontrolki DropDownList . Ponieważ kontrolka DropDownList ma ustawioną AutoPostBack true
właściwość na , każda zmiana w DropDownList zaznaczeniu powoduje, że strona będzie publikować na serwerze, a kontrolka GridView ponownie połączyć się z kontrolką źródła danych za pomocą nowego filtru.
<!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>
Uwagi
Składnia używana dla FilterExpression właściwości to składnia w stylu ciągu formatu. Parametry można uwzględnić we FilterExpression właściwości . Jeśli typ parametru jest ciągiem lub znakiem, należy ująć parametr w pojedynczy cudzysłów. Znaki cudzysłowu nie są wymagane, jeśli parametr jest typem liczbowym.
Kolekcja FilterParameters zawiera parametry, które są oceniane dla symboli zastępczych znalezionych we FilterExpression właściwości.
Kontrolka SqlDataSource obsługuje filtrowanie danych tylko wtedy, gdy jest w DataSet
trybie.
Wartość FilterExpression właściwości jest przechowywana w stanie widoku.
Ważne
Należy zweryfikować dowolną wartość parametru filtru otrzymaną od klienta. Środowisko uruchomieniowe po prostu zastępuje wartość parametru w wyrażeniu filtru i stosuje je do DataView obiektu zwróconego przez metodę Select . Jeśli używasz FilterExpression właściwości jako miary zabezpieczeń w celu ograniczenia liczby zwracanych elementów, musisz zweryfikować wartości parametrów przed rozpoczęciem filtrowania.