Control.FindControl Control.FindControl Control.FindControl Control.FindControl Method

定義

指定したサーバー コントロールの現在の名前付けコンテナーを検索します。Searches the current naming container for the specified server control.

オーバーロード

FindControl(String) FindControl(String) FindControl(String) FindControl(String)

指定した id パラメーターを使用して、サーバー コントロールの現在の名前付けコンテナーを検索します。Searches the current naming container for a server control with the specified id parameter.

FindControl(String, Int32) FindControl(String, Int32) FindControl(String, Int32) 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) FindControl(String) FindControl(String) 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 String String String

検索されるコントロールの識別子。The identifier for the control to be found.

戻り値

指定したコントロール。指定したコントロールがない場合は nullThe specified control, or null if the specified control does not exist.

次の例では、定義、Button1_Clickイベント ハンドラー。The following example defines a Button1_Click event handler. このハンドラーを使用して、呼び出されたときに、FindControlメソッドを使用して、コントロールの検索、IDプロパティのTextBox2に格納されているページ。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 Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。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) FindControl(String, Int32) FindControl(String, Int32) 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 String String String

検索されるコントロールの識別子。The identifier for the control to be found.

pathOffset
Int32 Int32 Int32 Int32

名前付けコンテナーに到達するために必要なページ コントロール階層までのコントロールの数。The number of controls up the page control hierarchy needed to reach a naming container.

戻り値

指定したコントロール。指定したコントロールがない場合は nullThe specified control, or null if the specified control does not exist.

適用対象