Control.FindControl Method (String)

Searches the current naming container for a server control with the specified id parameter.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

public virtual Control FindControl (
	string id
public Control FindControl (
	String id
public function FindControl (
	id : String
) : Control
Not applicable.



The identifier for the control to be found.

Return Value

The specified control, or a null reference (Nothing in Visual Basic) if the specified control does not exist.

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.

The following example defines a Button1_Click event handler. When invoked, this handler uses the FindControl method to locate a control with an ID property of TextBox2 on the containing page. If the control is found, its parent is determined using the Parent property and the parent control's ID is written to the page. If TextBox2 is not found, "Control Not Found" is written to the page.

Security noteSecurity Note:

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview (Visual Studio).

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

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.get_Parent();
        this.get_Response().Write("Parent of the text box is : " 
            + myControl2.get_ID());
    else {
        this.get_Response().Write("Control not found");

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0