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; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.FilterParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property FilterParameters As ParameterCollection

プロパティ値

ParameterCollection

ParameterCollection プロパティに含まれる任意のパラメーター プレースホルダーに関連付けられたパラメーターのセットを格納している FilterExpressionA 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 DropDownListIn addition, the filter parameter is a ControlParameter object that is bound to the SelectedValue property of the DropDownList control. コントロールのプロパティがに設定されているため、 DropDownList AutoPostBack 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.

適用対象

こちらもご覧ください