ASPxObjectContainer.ClientInstanceName Property
Gets or sets the ASPxObjectContainer‘s client programmatic identifier.
Namespace: DevExpress.Web
Assembly: DevExpress.Web.v24.1.dll
NuGet Package: DevExpress.Web
Declaration
Property Value
Type | Default | Description |
---|---|---|
String | String.Empty | A string value that specifies the ASPxObjectContainer‘s client identifier. |
Remarks
Use the ClientInstanceName property to specify a unique client-side identifier for the ASPxObjectContainer control. The ClientInstanceName property’s value can be used on the client side to programmatically access the client object rendered for the ASPxObjectContainer control in client-side script. This property is particularly important in referencing the ASPxObjectContainer control when it is contained within a naming container (for instance, within an ASPxPageControl‘s page or an ASPxPopupControl‘s window).
If the ClientInstanceName property is not specified for a control, the control’s client identifier is generated automatically, and equals the value of the control’s ID property. Note that in this case, client-side programmatic access to the control is not allowed when the control is contained within a naming container.
Note that it’s not recommended to define the same identifier for the ID and ClientInstanceName properties of the ASPxObjectContainer control. Doing this might lead to a JavaScript error generated when accessing the control on the client, using the ClientInstanceName property’s value. As a workaround, you can add a “window.” prefix when accessing the control:
window.ASPxObjectContainer1.Play();
But, it’s better to use different names for the ASPxObjectContainer‘s ID and ClientInstanceName properties, and the ClientInstanceName property’s value shouldn’t coincide with any HTML element identifier on that specific page.
Note
The client-side programmatic interface is available if the ASPxObjectContainer.EnableClientSideAPI property is set to true
.
Special Characters in Client Instance Name
If the ClientInstanceName
property contains special characters, for instance, the dot (.
), you cannot access a client object by this name. Call the GetByName(name) method to retrieve the client-side object instead.
<dx:ASPxTextBox ... ClientInstanceName="SomeType.SomeProp" />
var txt = ASPxClientControl.GetControlCollection().GetByName("SomeType.SomeProp");
txt.SetText("Some Text");