다음을 통해 공유


Control.FindControl 메서드

정의

지정된 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.

오버로드

FindControl(String)

지정된 id 매개 변수를 사용하여 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.

FindControl(String, Int32)

현재 명명 컨테이너에서 특정 id와 함께 pathOffset 매개 변수에 지정된 검색용 정수를 사용하여 서버 컨트롤을 검색합니다. 이 버전의 FindControl 메서드를 재정의해서는 안됩니다.

FindControl(String)

지정된 id 매개 변수를 사용하여 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.

public:
 virtual System::Web::UI::Control ^ FindControl(System::String ^ id);
public virtual System.Web.UI.Control FindControl (string id);
abstract member FindControl : string -> System.Web.UI.Control
override this.FindControl : string -> System.Web.UI.Control
Public Overridable Function FindControl (id As String) As Control

매개 변수

id
String

찾을 컨트롤의 식별자입니다.

반환

지정된 컨트롤이나 null을 반환합니다.

예제

다음 예제에서는 이벤트 처리기를 Button1_Click 정의합니다. 호출될 때 이 처리기는 메서드를 FindControl 사용하여 포함하는 페이지에서 속성 TextBox2 이 인 ID 컨트롤을 찾습니다. 컨트롤이 발견되면 해당 부모가 속성을 사용하여 Parent 결정되고 부모 컨트롤의 ID 가 페이지에 기록됩니다. 가 없으면 TextBox2 페이지에 "컨트롤을 찾을 수 없음"이 기록됩니다.

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.

private void Button1_Click(object sender, EventArgs MyEventArgs)
{
      // Find control on page.
      Control myControl1 = FindControl("TextBox2");
      if(myControl1!=null)
      {
         // Get control's parent.
         Control myControl2 = myControl1.Parent;
         Response.Write("Parent of the text box is : " + myControl2.ID);
      }
      else
      {
         Response.Write("Control not found");
      }
}

Private Sub Button1_Click(sender As Object, MyEventArgs As EventArgs)
' Find control on page.
Dim myControl1 As Control = FindControl("TextBox2")
If (Not myControl1 Is Nothing)
   ' Get control's parent.
   Dim myControl2 As Control = myControl1.Parent
   Response.Write("Parent of the text box is : " & myControl2.ID)
Else
   Response.Write("Control not found.....")
End If
End Sub

설명

를 사용하여 FindControl 코드 숨김 페이지의 함수에서 컨트롤에 액세스하거나, 다른 컨테이너 내에 있는 컨트롤에 액세스하거나, 대상 컨트롤에 호출자가 직접 액세스할 수 없는 다른 경우에 액세스합니다. 이 메서드는 컨트롤이 지정된 컨테이너에 의해 직접 포함된 경우에만 컨트롤을 찾습니다. 즉, 메서드는 컨트롤 내의 컨트롤 계층 구조 전체에서 검색하지 않습니다. 직접 컨테이너를 모르는 경우 컨트롤을 찾는 방법에 대한 자세한 내용은 방법: ID별 서버 컨트롤 액세스를 참조하세요.

추가 정보

적용 대상

FindControl(String, Int32)

현재 명명 컨테이너에서 특정 id와 함께 pathOffset 매개 변수에 지정된 검색용 정수를 사용하여 서버 컨트롤을 검색합니다. 이 버전의 FindControl 메서드를 재정의해서는 안됩니다.

protected:
 virtual System::Web::UI::Control ^ FindControl(System::String ^ id, int pathOffset);
protected virtual System.Web.UI.Control FindControl (string id, int pathOffset);
abstract member FindControl : string * int -> System.Web.UI.Control
override this.FindControl : string * int -> System.Web.UI.Control
Protected Overridable Function FindControl (id As String, pathOffset As Integer) As Control

매개 변수

id
String

찾을 컨트롤의 식별자입니다.

pathOffset
Int32

페이지 컨트롤 계층 구조에서 명명 컨테이너에 도달하는 데 필요한 컨트롤 개수입니다.

반환

지정된 컨트롤이나 null을 반환합니다.

적용 대상