Control.FindControl メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したサーバー コントロールの現在の名前付けコンテナーを検索します。
オーバーロード
FindControl(String) |
指定した |
FindControl(String, Int32) |
指定した |
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
は、"Control Not Found" がページに書き込まれます。
重要
この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは 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 します。 このメソッドは、コントロールが指定されたコンテナーに直接含まれている場合にのみ、コントロールを検索します。つまり、 メソッドは、コントロール内のコントロールの階層全体を検索しません。 直接コンテナーがわからない場合にコントロールを検索する方法については、「 How to: Access Server Controls by 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
。
適用対象
.NET