SqlDataSourceView.FilterExpression Właściwość

Definicja

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

String

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 truewł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.

Dotyczy

Zobacz też