Control.FindControl 메서드

정의

지정된 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.Searches the current naming container for the specified server control.

오버로드

FindControl(String)

지정된 id 매개 변수를 사용하여 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.Searches the current naming container for a server control with the specified id parameter.

FindControl(String, Int32)

현재 명명 컨테이너에서 특정 id와 함께 pathOffset 매개 변수에 지정된 검색용 정수를 사용하여 서버 컨트롤을 검색합니다.Searches the current naming container for a server control with the specified id and an integer, specified in the pathOffset parameter, which aids in the search. 이 버전의 FindControl 메서드를 재정의해서는 안됩니다.You should not override this version of the FindControl method.

FindControl(String)

지정된 id 매개 변수를 사용하여 서버 컨트롤의 현재 명명 컨테이너를 검색합니다.Searches the current naming container for a server control with the specified id parameter.

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

찾을 컨트롤의 식별자입니다.The identifier for the control to be found.

반환

지정된 컨트롤이나 null을 반환합니다.The specified control, or null if the specified control does not exist.

예제

다음 예제에서는 Button1_Click 이벤트 처리기를 정의 합니다.The following example defines a Button1_Click event handler. 이 처리기는 호출 될 때 FindControl 메서드를 사용 하 여 포함 하는 페이지에서 TextBox2ID 속성을 가진 컨트롤을 찾습니다.When invoked, this handler uses the FindControl method to locate a control with an ID property of TextBox2 on the containing page. 컨트롤이 있으면 해당 부모는 Parent 속성을 사용 하 여 결정 되 고 부모 컨트롤의 ID는 페이지에 기록 됩니다.If the control is found, its parent is determined using the Parent property and the parent control's ID is written to the page. TextBox2를 찾을 수 없는 경우 "컨트롤을 찾을 수 없음"이 페이지에 기록 됩니다.If TextBox2 is not found, "Control Not Found" is written to the page.

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다.This example has a text box that accepts user input, which is a potential security threat. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 자세한 내용은 Script Exploits Overview를 참조하세요.For more information, see 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를 사용 하 여 코드를 사용 하는 페이지의 함수에서 컨트롤에 액세스 하거나, 다른 컨테이너 내에 있는 컨트롤에 액세스 하거나, 대상 컨트롤을 호출자가 직접 액세스할 수 없는 경우를 사용 합니다.Use FindControl to access a control from a function in a code-behind page, to access a control that is inside another container, or in other circumstances where the target control is not directly accessible to the caller. 이 메서드는 지정 된 컨테이너에서 컨트롤을 직접 포함 하는 경우에만 컨트롤을 찾습니다. 즉, 메서드는 컨트롤 내에서 컨트롤의 계층 구조 전체를 검색 하지 않습니다.This method will find a control only if the control is directly contained by the specified container; that is, the method does not search throughout a hierarchy of controls within controls. 직계 컨테이너를 모를 때 컨트롤을 찾는 방법에 대 한 자세한 내용은 방법: 방법: ID를 사용 하 여 서버 컨트롤에 액세스 합니다.For information about how to find a control when you do not know its immediate container, see How to: Access Server Controls by ID.

추가 정보

FindControl(String, Int32)

현재 명명 컨테이너에서 특정 id와 함께 pathOffset 매개 변수에 지정된 검색용 정수를 사용하여 서버 컨트롤을 검색합니다.Searches the current naming container for a server control with the specified id and an integer, specified in the pathOffset parameter, which aids in the search. 이 버전의 FindControl 메서드를 재정의해서는 안됩니다.You should not override this version of the FindControl method.

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

찾을 컨트롤의 식별자입니다.The identifier for the control to be found.

pathOffset
Int32

페이지 컨트롤 계층 구조에서 명명 컨테이너에 도달하는 데 필요한 컨트롤 개수입니다.The number of controls up the page control hierarchy needed to reach a naming container.

반환

지정된 컨트롤이나 null을 반환합니다.The specified control, or null if the specified control does not exist.

적용 대상