QueryStringParameter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 에 데이터를 표시 하는 경우 필터로 사용 하는 개체를 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
, Updating
를 Inserting
, 또는 Deleting
이벤트 데이터의 소스 제어 및 이벤트 처리기에서 매개 변수 값을 확인 합니다. 매개 변수의 유효성 검사 테스트를 통과 하지 못하는 경우 설정 하 여 데이터 작업을 취소할 수 있습니다 합니다 Cancel 속성은 연결 된 CancelEventArgs 클래스를 true
입니다.
생성자
QueryStringParameter() |
QueryStringParameter 클래스의 명명되지 않은 새 인스턴스를 초기화합니다. |
QueryStringParameter(QueryStringParameter) |
|
QueryStringParameter(String, DbType, String) |
지정된 쿼리 문자열 필드 및 매개 변수의 데이터 형식을 사용하여 QueryStringParameter 클래스의 명명된 새 인스턴스를 초기화합니다. |
QueryStringParameter(String, String) |
바인딩할 쿼리 문자열 필드를 식별하는 지정된 문자열을 사용하여 QueryStringParameter 클래스의 명명된 새 인스턴스를 초기화합니다. |
QueryStringParameter(String, TypeCode, String) |
바인딩할 쿼리 문자열 필드를 식별하는 지정된 문자열을 사용하여 QueryStringParameter 클래스에 대한 강력한 형식의 명명된 새 인스턴스를 초기화합니다. |
속성
ConvertEmptyStringToNull |
Parameter 개체가 바인딩된 값이 Empty일 경우 이 값을 |
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) |
적용 대상
추가 정보
.NET