This documentation is archived and is not being maintained.

Control.ClientID Property

Gets the server control identifier generated by ASP.NET.

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

public virtual string ClientID { get; }

Property Value

Type: System.String
The server control identifier generated by ASP.NET.

Sometimes, it is not possible to assign a unique name to a control. For example, if a Repeater control contains a Label control in one of its templates, an instance of that Label control is rendered for each item in the Repeater control. To prevent naming conflicts when multiple instances of a control are rendered, ASP.NET automatically generates a unique ClientID value for each server control on a page. The ClientID value is generated by concatenating the ID value of the control and the UniqueID value of its parent control. If the ID value of the control is not specified, an automatically generated value is used. Each part of the generated ID is separated by an underscore character (_).


The ClientID value generated for a control is identical to the UniqueID value, except that an underscore character is used to delimit the ID values, instead of the character specified by the IdSeparator property. By default, the IdSeparator property is set to a dollar sign ($). Because the ClientID value does not contain dollar signs, it can be used in ECMAScript, which does not support IDs that contain dollar signs.

The ClientID value is often used to programmatically access the HTML element rendered for a control in client-side script. For details, see Client Script in ASP.NET Web Pages.

The following example iterates through the ControlCollection object for a page and displays the ClientID property for each control contained by the page.

void Page_Load(object sender,EventArgs e)
       Response.Write("<h4>Control_ClientID Sample</h4>");
       // Get the list of all controls.
      IEnumerator myEnumerator = Controls.GetEnumerator();
      Response.Write("<br />Enumerating Controls Collection<br />");    
          Control   myControl = (Control) myEnumerator.Current;
          // Display the ClientID property 
          Response.Write("<br />The ClientID property of Control : " + myControl.ClientID);

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0