SqlDataSource.FilterParameters 屬性

定義

取得與 FilterExpression 字串中任何參數替代符號相關聯的參數集合。

[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection FilterParameters { get; }

屬性值

ParameterCollection,其中所包含的一組參數,與在 FilterExpression 屬性中找到的任何參數預留位置相關聯。

屬性

範例

下列程式代碼範例示範如何從 Northwind 資料庫擷取數據,並使用 FilterExpressionFilterParameters 屬性加以篩選。 FilterExpression每當執行 方法以擷取數據時,Select就會套用 控件的 SqlDataSource 屬性。 在此範例中 FilterExpression ,屬性包含篩選參數的佔位元,該參數包含在集合中 FilterParameters 。 此外,篩選參數是 ControlParameter 係結至 SelectedValue 控件屬性的物件 DropDownListDropDownList因為控件的 AutoPostBack 屬性設定為 true,所以選取範圍中的任何DropDownList變更都會讓頁面將資訊張貼回伺服器,而GridView控件會使用新的篩選條件重新系結至數據源控件。

<!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 任何參數相關聯。 呼叫 方法時Select,屬性中指定的FilterExpression參數佔位元會依序比對集合中的FilterParameters參數物件。

屬性FilterParametersFilterParameters擷取與控件相關聯SqlDataSource之 物件所包含的SqlDataSourceView屬性。

重要

值會插入參數中,而不需驗證,這是潛在的安全性威脅。 在執行查詢之前, Filtering 請使用 事件來驗證參數值。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。

適用於

產品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另請參閱