다음을 통해 공유


SqlDataSourceFilteringEventArgs.ParameterValues 속성

정의

IOrderedDictionary 클래스의 Parameter 개체에 액세스할 수 있도록 하는 SqlDataSource 개체를 가져옵니다.

public:
 property System::Collections::Specialized::IOrderedDictionary ^ ParameterValues { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary ParameterValues { get; }
member this.ParameterValues : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property ParameterValues As IOrderedDictionary

속성 값

IOrderedDictionary 개체의 Parameter입니다.

예제

다음 코드 예제에서는 Northwind 데이터베이스에서 데이터를 검색 하 고 사용 하 여 필터링 하는 방법을 보여 줍니다.는 FilterExpressionFilterParameters입니다. FilterExpressionSqlDataSource 언제 든 지 적용 되는 Select 데이터를 검색할 메서드를 실행 합니다. 이 예제에서는 합니다 FilterExpression 에 포함 된 필터 매개 변수에 대 한 자리 표시자를 포함 합니다 FilterParameters 컬렉션입니다. 에 Filtering 경우 filter 매개 변수는에 표시 되는 Label 컨트롤입니다.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    //Protected Sub SqlDataSource1_Filtering(ByVal sender As Object, _
    //    ByVal e As System.Web.UI.WebControls.SqlDataSourceFilteringEventArgs)
    //    Label1.Text = e.ParameterValues(0).ToString()
    //End Sub


    protected void SqlDataSource1_Filtering(object sender, SqlDataSourceFilteringEventArgs e)
    {
        Label1.Text = e.ParameterValues[0].ToString();
    }
</script>

<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>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:NorthwindConnection %>"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                FilterExpression="Title='{0}'" OnFiltering="SqlDataSource1_Filtering">
                <FilterParameters>
                    <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
                </FilterParameters>
            </asp:SqlDataSource><br />

            <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>
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

        </form>
    </body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub SqlDataSource1_Filtering(ByVal sender As Object, _
        ByVal e As System.Web.UI.WebControls.SqlDataSourceFilteringEventArgs)
        Label1.Text = e.ParameterValues(0).ToString()
    End Sub
</script>

<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>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:NorthwindConnection %>"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                FilterExpression="Title='{0}'" OnFiltering="SqlDataSource1_Filtering">
                <FilterParameters>
                    <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
                </FilterParameters>
            </asp:SqlDataSource><br />

            <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>
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

        </form>
    </body>
</html>

설명

SqlDataSourceFilteringEventArgs 클래스에 데이터를 전달 하는 데 사용 됩니다 합니다 Filtering 이벤트 처리기는 SqlDataSource합니다. ParameterValues 필터링 작업을 수행 하기 전에 속성은 필터 매개 변수 값에 대 한 액세스를 제공 합니다.

중요

클라이언트에서 수신 하는 경우 잘못 된 매개 변수 선택 작업을 취소 필터 매개 변수 값을 확인 해야 합니다. 하는 런타임 매개 변수 값은 필터 식으로 대체 하 고 선택 메서드 결과에 적용 됩니다. 손상 된 값이 클라이언트에 표시 될 것 보다 많은 행을 표시 하는 방식에는 필터 식을 변경 하는 것이 가능 합니다. 사용 중인 경우는 FilterExpression 필터링이 발생 하기 전에 매개 변수 값의 유효성을 검사 해야 반환 되는 항목의 수를 제한 하려면 보안 조치로 속성입니다.

적용 대상

추가 정보