Control.ClientID Property

Gets the server control identifier generated by ASP.NET.

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

virtual property String^ ClientID {
	String^ get ();
/** @property */
public String get_ClientID ()

public function get ClientID () : String

Not applicable.

Property Value

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 colon character (:). Because the ClientID value does not contain colon characters, it can be used in ECMAScript, which does not support IDs containing colons.

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.

No code example is currently available or this language may not be supported.
void Page_Load(Object sender, EventArgs e) 
    get_Response().Write("<h4>Control_ClientID Sample</h4>");
    // Get the list of all controls.
    IEnumerator myEnumerator = get_Controls().GetEnumerator();
    get_Response().Write("<br />Enumerating Controls Collection<br />");
    while(myEnumerator.MoveNext()) {
  Control myControl = (Control)(myEnumerator.get_Current());
  // Display the ClientID property 
  get_Response().Write("<br />The ClientID property of Control : " 
      + myControl.get_ClientID());
} //Page_Load

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