Condividi tramite


SqlDataSourceView.FilterExpression Proprietà

Definizione

Ottiene o imposta un'espressione di filtro che viene applicata quando il metodo Select viene chiamato.

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

Valore della proprietà

String

Stringa che rappresenta un'espressione di filtro applicata quando i dati vengono recuperati usando il metodo Select(DataSourceSelectArguments).

Eccezioni

La proprietà FilterExpression è stata impostata se l'oggetto SqlDataSource è nella modalità DataReader.

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare i dati dal database Northwind e filtrarlo usando le FilterExpression proprietà e FilterParameters . La FilterExpression proprietà del SqlDataSource controllo viene applicata ogni volta che il Select metodo viene eseguito per recuperare i dati. In questo esempio la FilterExpression proprietà contiene un segnaposto per un parametro di filtro, contenuto nell'insieme FilterParameters . In questo esempio il parametro filter è un ControlParameter oggetto associato alla SelectedValue proprietà del DropDownList controllo. Poiché il DropDownList controllo ha la proprietà AutoPostBack impostata su true, qualsiasi modifica nella selezione causa il post della DropDownList pagina al server e il GridView controllo viene ribinato al controllo origine dati con il nuovo filtro.

<!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>

Commenti

La sintassi usata per la FilterExpression proprietà è una sintassi di stile stringa di formato. È possibile includere parametri nella FilterExpression proprietà. Se il tipo del parametro è stringa o carattere, racchiudere il parametro tra virgolette singole. Le virgolette non sono necessarie, se il parametro è un tipo numerico.

L'insieme FilterParameters FilterExpression contiene i parametri valutati per i segnaposto presenti nella proprietà.

Il SqlDataSource controllo supporta il filtro dei dati solo quando in DataSet modalità.

Il valore della proprietà viene archiviato nello stato di FilterExpression visualizzazione.

Importante

È necessario convalidare qualsiasi valore del parametro di filtro ricevuto dal client. Il runtime sostituisce semplicemente il valore del parametro nell'espressione di filtro e lo applica all'oggetto DataView restituito dal Select metodo . Se si usa la FilterExpression proprietà come misura di sicurezza per limitare il numero di elementi restituiti, è necessario convalidare i valori dei parametri prima che si verifichi il filtro.

Si applica a

Vedi anche