다음을 통해 공유


Control.FindControl 메서드

정의

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

오버로드

Name Description
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 요소가 포함되지 않는지 확인합니다. 자세한 내용은 스크립트 악용 개요를 참조하세요.

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 지정된 컨트롤이 없는 경우

적용 대상