SqlDataSourceView.FilterExpression Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett filtreringsuttryck som används när Select metoden anropas.
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
Egenskapsvärde
En sträng som representerar ett filtreringsuttryck som används när data hämtas med metoden Select(DataSourceSelectArguments) .
Undantag
Egenskapen FilterExpression angavs när SqlDataSource är i DataReader läget.
Exempel
Följande kodexempel visar hur du hämtar data från Northwind-databasen och filtrerar dem med hjälp av FilterExpression egenskaperna och FilterParameters . Kontrollens FilterExpressionSqlDataSource egenskap tillämpas varje gång Select metoden körs för att hämta data. I det här exemplet FilterExpression innehåller egenskapen en platshållare för en filterparameter som finns i FilterParameters samlingen. I det här exemplet är filterparametern ett ControlParameter objekt som är bundet SelectedValue till kontrollens DropDownList egenskap.
DropDownList Eftersom kontrollen har dess AutoPostBack egenskap inställd på true, leder alla ändringar i DropDownList markeringen till att sidan skickas till servern och GridView kontrollen binds om till datakällkontrollen med det nya filtret.
<!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>
Kommentarer
Syntaxen som används för egenskapen FilterExpression är en formatsyntax i strängformat. Du kan inkludera parametrar i egenskapen FilterExpression . Om parametertypen är sträng eller tecken omger du parametern inom enkla citattecken. Citattecken krävs inte om parametern är en numerisk typ.
Samlingen FilterParameters innehåller de parametrar som utvärderas för de platshållare som finns i egenskapen FilterExpression .
Kontrollen SqlDataSource stöder endast filtrering av data när den är i DataSet läge.
Värdet för egenskapen FilterExpression lagras i visningstillstånd.
Important
Du bör verifiera alla filterparametervärden som du får från klienten. Körningen ersätter helt enkelt parametervärdet i filteruttrycket och tillämpar det på DataView det objekt som returneras av Select metoden. Om du använder FilterExpression egenskapen som ett säkerhetsmått för att begränsa antalet objekt som returneras måste du verifiera parametervärdena innan filtreringen sker.