QueryStringParameter 클래스

정의

HTTP 요청 쿼리 문자열 필드의 값을 매개 변수 개체에 바인딩합니다.

public ref class QueryStringParameter : System::Web::UI::WebControls::Parameter
public class QueryStringParameter : System.Web.UI.WebControls.Parameter
type QueryStringParameter = class
    inherit Parameter
Public Class QueryStringParameter
Inherits Parameter
상속
QueryStringParameter

예제

다음 예제에서는 만드는 방법을 보여 줍니다.는 QueryStringParameter 에 데이터를 표시 하는 경우 필터로 사용 하는 개체를 GridView 컨트롤입니다. 추가한 합니다 QueryStringParameter 개체를 AccessDataSource 컨트롤의 FilterParameters 컬렉션입니다. 매개 변수 개체 라는 쿼리 문자열 필드의 값에 바인딩합니다 country 에 해당 FilterExpression 문자열입니다. 때문에 없습니다 DefaultValue 필드가 없으면 이름이 속성 매개 변수에 지정 된 country 쿼리 문자열을 사용 하 여 전달 되는 AccessDataSource throw를 제어를 NullReferenceException 예외. 필드의 이름이 country 전달 되지만 값이 없는 경우는 GridView 컨트롤 데이터가 표시 되지 않습니다.

<%@ Page language="C#"%>
<!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" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>
    </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">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>

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

다음 예제에서는 만드는 방법을 보여 줍니다는 QueryStringParameter 매개 변수가 있는 SQL 쿼리를 사용 하 여 Access 데이터베이스에서 데이터를 표시 하는 개체입니다. AccessDataSource 에 표시 되는 레코드를 검색 하는 개체는 GridView 제어 합니다. GridView 컨트롤을 편집할 수 및 사용자가 Northwind Traders Orders 테이블에는 주문 상태를 업데이트할 수 있습니다.

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

<script runat="server">
private void UpdateRecords(Object source, EventArgs e)
{
  // This method is an example of batch updating using a
  // data source control. The method iterates through the rows
  // of the GridView, extracts each CheckBox from the row and, if
  // the CheckBox is checked, updates data by calling the Update
  // method of the data source control, adding required parameters
  // to the UpdateParameters collection.
  CheckBox cb;
  foreach(GridViewRow row in this.GridView1.Rows) {
    cb = (CheckBox) row.Cells[0].Controls[1];
    if(cb.Checked) {
      string oid = (string) row.Cells[1].Text;
      MyAccessDataSource.UpdateParameters.Add(new Parameter("date",TypeCode.DateTime,DateTime.Now.ToString()));
      MyAccessDataSource.UpdateParameters.Add(new Parameter("orderid",TypeCode.String,oid));
      MyAccessDataSource.Update();
      MyAccessDataSource.UpdateParameters.Clear();
    }
  }
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

      <asp:SqlDataSource
        id="MyAccessDataSource"
        runat="server"
        ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
        ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
        SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
        UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
        <SelectParameters>
          <asp:QueryStringParameter Name="empId" QueryStringField="empId" />
        </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
        id ="GridView1"
        runat="server"
        DataSourceID="MyAccessDataSource"
        AllowPaging="True"
        PageSize="10"
        AutoGenerateColumns="False">
          <columns>
            <asp:TemplateField HeaderText="">
              <ItemTemplate>
                <asp:CheckBox runat="server" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="Order" DataField="OrderID" />
            <asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
            <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
            <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
          </columns>
      </asp:GridView>

      <asp:Button
        id="Button1"
        runat="server"
        Text="Update the Selected Records As Shipped"
        OnClick="UpdateRecords" />

      <asp:Label id="Label1" runat="server" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub UpdateRecords(source As Object, e As EventArgs)

  ' This method is an example of batch updating using a
  ' data source control. The method iterates through the rows
  ' of the GridView, extracts each CheckBox from the row and, if
  ' the CheckBox is checked, updates data by calling the Update
  ' method of the data source control, adding required parameters
  ' to the UpdateParameters collection.

  Dim cb As CheckBox
  Dim row As GridViewRow

  For Each row In GridView1.Rows

    cb = CType(row.Cells(0).Controls(1), CheckBox)
    If cb.Checked Then

      Dim oid As String
      oid = CType(row.Cells(1).Text, String)

      Dim param1 As New Parameter("date", TypeCode.DateTime, DateTime.Now.ToString())
      MyAccessDataSource.UpdateParameters.Add(param1)

      Dim param2 As New Parameter("orderid", TypeCode.String, oid)
      MyAccessDataSource.UpdateParameters.Add(param2)

      MyAccessDataSource.Update()
      MyAccessDataSource.UpdateParameters.Clear()
    End If
  Next
End Sub ' UpdateRecords
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

      <asp:SqlDataSource
        id="MyAccessDataSource"
        runat="server"
        ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
        ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
        SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
        UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
        <SelectParameters>
          <asp:QueryStringParameter Name="empId" QueryStringField="empId" />
        </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
        id ="GridView1"
        runat="server"
        DataSourceID="MyAccessDataSource"
        AllowPaging="True"
        PageSize="10"
        AutoGenerateColumns="False">
          <columns>
            <asp:TemplateField HeaderText="">
              <ItemTemplate>
                <asp:CheckBox runat="server" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="Order" DataField="OrderID" />
            <asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
            <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
            <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
          </columns>
      </asp:GridView>

      <asp:Button
        id="Button1"
        runat="server"
        Text="Update the Selected Records As Shipped"
        OnClick="UpdateRecords" />

      <asp:Label id="Label1" runat="server" />

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

설명

사용할 수는 QueryStringParameter 매개 변수가 있는 쿼리 또는 명령에 사용 되는 매개 변수는 HTTP 요청 쿼리 문자열의 일부로 전달 되는 필드의 값을 바인딩할 클래스입니다. 필드에서 검색 되는 QueryString 컬렉션입니다.

컨트롤 데이터 매개 변수를 바인딩하는 경우 예외가 throw 될 수 있습니다는 QueryStringParameter 개체 참조 되었지만 없는 해당 쿼리 문자열 이름/값 쌍이 전달 됩니다. 마찬가지로, 해당 값이 없는 쿼리 문자열 필드 이름을 전달 되 면 데이터가 없습니다 표시 될 수 있습니다. 이러한 상황을 방지 하려면 설정의 DefaultValue 속성이 필요한 경우.

합니다 QueryStringParameter 클래스를 제공 합니다 QueryStringField 바인딩할 쿼리 문자열 값의 이름을 식별 하는 속성입니다. 상속 된 속성 또한 제공 된 Parameter 클래스입니다.

중요

QueryStringParameter 클래스는 전달 되는 값을 확인 하지 않습니다; 원시 값을 제공 합니다. 그러나 값을 확인할 수 있습니다는 QueryStringParameter 데이터 소스 컨트롤에 있는 개체입니다. 이렇게 하려면 처리 합니다 Selecting, UpdatingInserting, 또는 Deleting 이벤트 데이터의 소스 제어 및 이벤트 처리기에서 매개 변수 값을 확인 합니다. 매개 변수의 유효성 검사 테스트를 통과 하지 못하는 경우 설정 하 여 데이터 작업을 취소할 수 있습니다 합니다 Cancel 속성은 연결 된 CancelEventArgs 클래스를 true입니다.

생성자

QueryStringParameter()

QueryStringParameter 클래스의 명명되지 않은 새 인스턴스를 초기화합니다.

QueryStringParameter(QueryStringParameter)

original 매개 변수에 지정된 인스턴스 값을 사용하여 QueryStringParameter 클래스의 새 인스턴스를 초기화합니다.

QueryStringParameter(String, DbType, String)

지정된 쿼리 문자열 필드 및 매개 변수의 데이터 형식을 사용하여 QueryStringParameter 클래스의 명명된 새 인스턴스를 초기화합니다.

QueryStringParameter(String, String)

바인딩할 쿼리 문자열 필드를 식별하는 지정된 문자열을 사용하여 QueryStringParameter 클래스의 명명된 새 인스턴스를 초기화합니다.

QueryStringParameter(String, TypeCode, String)

바인딩할 쿼리 문자열 필드를 식별하는 지정된 문자열을 사용하여 QueryStringParameter 클래스에 대한 강력한 형식의 명명된 새 인스턴스를 초기화합니다.

속성

ConvertEmptyStringToNull

Parameter 개체가 바인딩된 값이 Empty일 경우 이 값을 null로 변환할지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
DbType

매개 변수의 데이터베이스 형식을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
DefaultValue

Evaluate(HttpContext, Control) 메서드가 호출될 때 매개 변수가 바인딩된 값이 초기화되지 않은 경우 해당 매개 변수에 사용할 기본값을 지정합니다.

(다음에서 상속됨 Parameter)
Direction

Parameter 개체가 컨트롤에 값을 바인딩하는 데 사용되는지 아니면 컨트롤이 값을 변경하는 데 사용될 수 있는지를 나타냅니다.

(다음에서 상속됨 Parameter)
IsTrackingViewState

Parameter 개체가 해당 뷰 상태의 변경 내용을 저장하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Parameter)
Name

매개 변수의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
QueryStringField

매개 변수가 바인딩된 쿼리 문자열 필드의 이름을 가져오거나 설정합니다.

Size

매개 변수의 크기를 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
Type

매개 변수의 유형을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
ValidateInput

쿼리 문자열 매개 변수의 유효성 검사가 진행 중인지 여부를 가져오거나 설정합니다.

ViewState

같은 페이지에 대한 여러 개의 요청 전반에 Parameter 개체의 뷰 상태를 저장하고 복원하는 데 사용할 수 있는 상태 정보 사전을 가져옵니다.

(다음에서 상속됨 Parameter)

메서드

Clone()

현재 QueryStringParameter 인스턴스의 복제본을 반환합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Evaluate(HttpContext, Control)

QueryStringParameter 개체의 값을 업데이트하고 반환합니다.

GetDatabaseType()

CLR 형식의 현재 DbType 인스턴스에 해당하는 Parameter 값을 가져옵니다.

(다음에서 상속됨 Parameter)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
LoadViewState(Object)

데이터 소스 뷰를 이전에 저장된 뷰 상태로 복원합니다.

(다음에서 상속됨 Parameter)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnParameterChanged()

OnParametersChanged(EventArgs) 개체가 들어 있는 ParameterCollection 컬렉션의 Parameter 메서드를 호출합니다.

(다음에서 상속됨 Parameter)
SaveViewState()

페이지가 서버에 포스트백된 이후에 발생한 Parameter 개체의 뷰 상태 변경 사항을 저장합니다.

(다음에서 상속됨 Parameter)
SetDirty()

Parameter 개체를 해당 상태가 뷰 상태에 기록되는 개체로 표시합니다.

(다음에서 상속됨 Parameter)
ToString()

이 인스턴스의 값을 해당하는 문자열 표현으로 변환합니다.

(다음에서 상속됨 Parameter)
TrackViewState()

Parameter 개체가 뷰 상태의 변경 내용을 추적하도록 합니다. 이렇게 하면 해당 뷰 상태의 변경 내용을 컨트롤의 ViewState 개체에 저장하여 같은 페이지에 대한 여러 요청에서 일관되게 유지할 수 있습니다.

(다음에서 상속됨 Parameter)

명시적 인터페이스 구현

ICloneable.Clone()

현재 Parameter 인스턴스의 복제본을 반환합니다.

(다음에서 상속됨 Parameter)
IStateManager.IsTrackingViewState

Parameter 개체가 해당 뷰 상태의 변경 내용을 저장하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Parameter)
IStateManager.LoadViewState(Object)

데이터 소스 뷰를 이전에 저장된 뷰 상태로 복원합니다.

(다음에서 상속됨 Parameter)
IStateManager.SaveViewState()

페이지가 서버에 포스트백된 이후에 발생한 Parameter 개체의 뷰 상태 변경 사항을 저장합니다.

(다음에서 상속됨 Parameter)
IStateManager.TrackViewState()

Parameter 개체가 뷰 상태의 변경 내용을 추적하도록 합니다. 이렇게 하면 해당 뷰 상태의 변경 내용을 컨트롤의 ViewState 개체에 저장하여 같은 페이지에 대한 여러 요청에서 일관되게 유지할 수 있습니다.

(다음에서 상속됨 Parameter)

적용 대상

추가 정보