Control.ClientID Property
Assembly: System.Web (in system.web.dll)
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 (_).
Note: |
|---|
|
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.
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 />"); while(myEnumerator.MoveNext()) { Control myControl = (Control) myEnumerator.Current; // Display the ClientID property Response.Write("<br />The ClientID property of Control : " + myControl.ClientID); } }
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
Note: