En mi anterior post comentaba que ASP.NET 4.0 había cambiado la forma de renderizar sus controles Web nativos para hacerlos más compatibles con XHTML, y que esto podía causar algunos problemas con aplicaciones hechas en versiones anteriores y migradas a la actual. También mostraba la forma de solucionar el problema y forzar la generación de HTML compatible con ASP.NET 3.5.

Lo que no comentaba era qué cambios exactamente se producen en el renderizado de estos controles ahora en ASP.NET 4.0, así que lo comento a continuación:

  1. Todos los controles renderizan XHTML Strict 1.0
  2. Los controles de validación no renderizan estilos "inline" sino clases CSS.
  3. Deshabilitar controles que no sean de entrada de datos ya no produce por defecto controles con el aspecto deshabilitado (lo comentaba en la práctica en el post anterior)
  4. Algunos controles que usaban el atributo border=0 ya no lo hacen (por ejemplo tablas o imágenes)
  5. Los elementos <div> que se generan alrededor de los campos ocultos en el formulario del Web Form llevan un estilo CSS para poder controlar si queremos que se vean o no. Estos DIV se generan para que los input de tipo hidden estén contenidos en otros elementos y sean compatibles con XHTML.

En este último caso ahora se generan de la siguiente manera:

<div class="aspNetHidden">...</div>

De manera que podemos redefinir esa clase aspNetHidden para conseguir que no se vean o que se vean de alguna forma particular.

¡Espero que te sea útil!

Escrito por un humano, no por una IA