SqlDataSourceView.FilterExpression Eigenschaft

Definition

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

String

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 truefestgelegt 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.

Gilt für

Siehe auch