Acabamos de actualizar nuestra aplicación de ASP.Net 2.0 a ASP.Net 4.0.¿Cuál es la configuración correcta de ClientIDMode en ASP.Net 4 para obtener la representación ASP.Net 2.0.
hemos incluido en el web.config en el elemento <system.web>
:
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
Mi opinión es que esto se supone que hacen los controles de la misma como .Net 2.0/3.5 sería.
Sin embargo ... no es ... aquí es un ejemplo
Esto se hizo en 2.0:
<input id="grdUserEntity__ctl1_chkSelectAll" type="checkbox"
name="grdUserEntity:_ctl1:chkSelectAll" onclick="javascript:iSelectAll();" />
Esto está en 4.0:
<input id="grdUserEntity_ctl01_chkSelectAll" type="checkbox"
name="grdUserEntity$ctl01$chkSelectAll" onclick="javascript:iSelectAll();" />
La diferencia:
2.0 id=grdUserEntity__ctl1_chkSelectAll
4.0 id=grdUserEntity_ctl01_chkSelectAll
Según a lo que leí esa configuración hará que ASP.Net 4.0 renderice los controles del servidor y los identificadores del cliente de forma idéntica a la versión anterior.
¿Qué estamos haciendo mal?
Tenemos javascript que se basa en la forma en que 2.0 representa. Entonces, sí, tenemos varios problemas de regresión ahora. – PilotBob
Sí ... esto resuelve la regresión. Muchas gracias – PilotBob
¡Genial! Es bueno escuchar – InfinitiesLoop