SqlDataSourceView.FilterExpression Vlastnost

Definice

Získá nebo nastaví filtrovací výraz, který se použije při Select zavolání 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

Hodnota vlastnosti

String

Řetězec, který představuje výraz filtrování použitý při načtení dat pomocí Select(DataSourceSelectArguments) metody.

Výjimky

Vlastnost FilterExpression byla nastavena, když SqlDataSource je v DataReader režimu.

Příklady

Následující příklad kódu ukazuje, jak načíst data z databáze Northwind a filtrovat je pomocí vlastností FilterExpression a FilterParameters vlastnosti. Vlastnost FilterExpression SqlDataSource ovládacího prvku se použije při Select každém spuštění metody pro načtení dat. V tomto příkladu FilterExpression vlastnost obsahuje zástupný symbol pro parametr filtru, který je obsažen v kolekci FilterParameters . V tomto příkladu je ControlParameter parametr filtru objekt, který je vázán na SelectedValue vlastnost DropDownList ovládacího prvku. Vzhledem k tomu, že DropDownList ovládací prvek má vlastnost AutoPostBack nastavenou na true, jakákoli změna výběru DropDownList způsobí, že stránka se publikuje na server a GridView ovládací prvek se má znovu připojit k ovládacímu prvku zdroje dat s novým filtrem.

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

Poznámky

Syntaxe použitá pro FilterExpression vlastnost je syntaxe stylu řetězce ve formátu. Do vlastnosti můžete zahrnout parametry FilterExpression . Pokud je typ parametru řetězec nebo znak, uzavřete parametr do jednoduchých uvozovek. Uvozovky nejsou povinné, pokud je parametr číselným typem.

Kolekce FilterParameters obsahuje parametry, které se vyhodnocují pro zástupné symboly nalezené ve FilterExpression vlastnosti.

Ovládací SqlDataSource prvek podporuje filtrování dat pouze v DataSet režimu.

Hodnota FilterExpression vlastnosti je uložena ve stavu zobrazení.

Důležité

Měli byste ověřit hodnotu parametru filtru, kterou obdržíte od klienta. Modul runtime jednoduše nahradí hodnotu parametru výrazem filtru a použije ji na DataView objekt vrácený metodou Select . Pokud vlastnost používáte FilterExpression jako bezpečnostní opatření k omezení počtu vrácených položek, je nutné před filtrováním ověřit hodnoty parametrů.

Platí pro

Viz také