Evitar que los ID cambien en ASP.Net

Es posible que al trabajar con JavaScript y elementos ASP notaste un cambio en los id, veamos cómo evitar que los ID cambien en ASP.Net.

Por ejemplo, si colocamos un TextBox en la página aspx como sigue:

<asp:TextBox ID="txtCampo" runat="server" ></asp:TextBox>

Esperaríamos que en tiempo de ejecución siga teniendo este id, sin embargo, no es así, el id se convierte como sigue:

Evitar que los ID cambien en ASP

¿Por qué pasa esto?

Este cambio se debe al ContentPlaceHolder, que determina de acuerdo con una jerarquía el valor en el cliente de los elementos html.

¿Cómo evitar el cambio de ID?

Aunque ASP por defecto realiza el cambio de ID de los elementos es posible indicarle que no lo haga.

Podemos indicar mediante una propiedad a cada uno de los elementos que mantengan el ID asignado, por ejemplo.

<asp:TextBox ID="txtCampo" runat="server" ClientIDMode="Static" ></asp:TextBox>

La propiedad ClientIDMode con valor Static indica que el ID se mantenga.

Con el cambio realizado en el campo de texto veamos el resultado desde el analizador de código del explorador.

ID cambien en ASP.Net

Puedes colocar esta propiedad en todos los campos que quieras que mantengan su ID o trabajar con los ID resultante en el cliente.

Podría interesarte Insertar JavaScript en ASP.NET  

La importancia de los ID la podemos ver al trabajar con JavaScript, con esta información evitaremos algunos dolores de cabeza.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *