SqlDataSource.FilterParameters Свойство

Определение

Возвращает коллекцию параметров, связанных с любыми местозаполнителями параметров в строке FilterExpression.Gets a collection of parameters that are associated with any parameter placeholders that are in the FilterExpression string.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ FilterParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection FilterParameters { get; }
member this.FilterParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property FilterParameters As ParameterCollection

Значение свойства

Коллекция ParameterCollection, содержащая набор параметров, связанных с любыми местозаполнителями параметров, содержащимися в свойстве FilterExpression.A ParameterCollection that contains a set of parameters associated with any parameter placeholders found in the FilterExpression property.

Атрибуты

Примеры

В следующем примере кода показано, как получить данные из базы данных Northwind и отфильтровать их с помощью свойств FilterExpression и FilterParameters.The following code example demonstrates how to retrieve data from the Northwind database and filter it using the FilterExpression and FilterParameters properties. Свойство FilterExpression элемента управления SqlDataSource применяется каждый раз, когда выполняется метод Select для получения данных.The FilterExpression property of the SqlDataSource control is applied anytime the Select method is executed to retrieve data. В этом примере свойство FilterExpression содержит заполнитель для параметра фильтра, который содержится в коллекции FilterParameters.In this example, the FilterExpression property contains a placeholder for a filter parameter, which is contained in the FilterParameters collection. Кроме того, параметр Filter является ControlParameter объектом, привязанным к свойству SelectedValue элемента управления DropDownList.In addition, the filter parameter is a ControlParameter object that is bound to the SelectedValue property of the DropDownList control. Поскольку свойство AutoPostBack для элемента управления DropDownList имеет значение true, любое изменение в выделенном DropDownList приводит к тому, что страница будет отправлять сведения обратно на сервер и элемент управления GridView для повторной привязки к элементу управления источником данных с новым фильтром.Because the DropDownList control has its AutoPostBack property set to true, any change in the DropDownList selection causes the page to post information back to the server and the GridView control to rebind to the data source control with the new filter.

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

Комментарии

Параметры в коллекции FilterParameters связаны с параметрами, заданными в свойстве FilterExpression.The parameters in the FilterParameters collection are associated with any parameters that are specified in the FilterExpression property. Заполнители параметров, указанные в свойстве FilterExpression, сопоставляются с объектами параметров в коллекции FilterParameters при вызове метода Select.The parameter placeholders that are specified in the FilterExpression property are matched by order to parameter objects in the FilterParameters collection when the Select method is called.

Свойство FilterParameters извлекает свойство FilterParameters, которое содержится в объекте SqlDataSourceView, связанном с элементом управления SqlDataSource.The FilterParameters property retrieves the FilterParameters property that is contained by the SqlDataSourceView object that is associated with the SqlDataSource control.

Важно!

Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности.Values are inserted into parameters without validation, which is a potential security threat. Используйте событие Filtering для проверки значений параметров перед выполнением запроса.Use the Filtering event to validate parameter values before executing the query. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

Применяется к

Дополнительно