SqlDataSourceView.FilterExpression Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Filterausdruck ab, der angewendet wird, wenn die Select-Methode aufgerufen wird, oder legt diesen fest.
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
Eigenschaftswert
Eine Zeichenfolge, die einen Filterausdruck darstellt, der angewendet wird, wenn Daten mithilfe der Select(DataSourceSelectArguments)-Methode abgerufen werden.
Ausnahmen
Die FilterExpression-Eigenschaft wurde festgelegt, während sich die SqlDataSource im DataReader-Modus befand.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Daten aus der Northwind-Datenbank abgerufen und mithilfe der FilterExpression FilterParameters Eigenschaften gefiltert werden. Die FilterExpression Eigenschaft des SqlDataSource Steuerelements wird jederzeit angewendet, wenn die Select Methode ausgeführt wird, um Daten abzurufen. In diesem Beispiel enthält die FilterExpression Eigenschaft einen Platzhalter für einen Filterparameter, der in der FilterParameters Auflistung enthalten ist. In diesem Beispiel ist der Filterparameter ein ControlParameter Objekt, das an die SelectedValue Eigenschaft des DropDownList Steuerelements gebunden ist. Da das DropDownList Steuerelement seine Eigenschaft auf true
festgelegt hatAutoPostBack, führt jede Änderung in der DropDownList Auswahl dazu, dass die Seite auf dem Server postet und das GridView Steuerelement an das Datenquellensteuerelement mit dem neuen Filter rebiniert wird.
<!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>
Hinweise
Die Syntax, die für die FilterExpression Eigenschaft verwendet wird, ist eine Formatzeichenfolgensyntax. Sie können Parameter in die FilterExpression Eigenschaft einschließen. Wenn der Parametertyp Zeichenfolge oder Zeichen ist, schließen Sie den Parameter in einzelne Anführungszeichen ein. Anführungszeichen sind nicht erforderlich, wenn der Parameter ein numerischer Typ ist.
Die FilterParameters Auflistung enthält die Parameter, die für die Platzhalter ausgewertet werden, die in der FilterExpression Eigenschaft gefunden werden.
Das SqlDataSource Steuerelement unterstützt die Filterung von Daten nur im DataSet
Modus.
Der Wert der FilterExpression Eigenschaft wird im Ansichtszustand gespeichert.
Wichtig
Sie sollten jeden Filterparameterwert überprüfen, den Sie vom Client erhalten. Die Laufzeit ersetzt einfach den Parameterwert in den Filterausdruck und wendet es auf das DataView Objekt an, das von der Select Methode zurückgegeben wird. Wenn Sie die FilterExpression Eigenschaft als Sicherheitsmaßnahme verwenden, um die Anzahl der zurückgegebenen Elemente zu beschränken, müssen Sie die Parameterwerte überprüfen, bevor die Filterung auftritt.