Recomendaciones relacionadas con los controles de servidor ASP.NET
Al crear formularios Web Forms, se pueden utilizar distintas clases de controles, como se explica en Introducción a los controles de servidor ASP.NET. Este tema le ayudará a decidir cuándo es apropiado el uso de un tipo de control.
Se pueden mezclar tipos de controles en la misma página. Por ejemplo, la página de formularios Web Forms puede incluir un formulario compuesto de controles de servidor Web y un control de servidor HTML convertido de un elemento HTML <SPAN>.
La siguiente tabla resume cuándo utilizar controles de servidor Web y cuándo utilizar controles de servidor HTML.
Tipo de control | Se utiliza cuando: |
---|---|
Control de servidor Web |
|
Control de servidor HTML |
|
Nota También puede crear resultados para dispositivos móviles. Para hacerlo así, se utiliza el mismo marco de trabajo de páginas ASP.NET, pero se crean formularios Mobile Web Forms en lugar de páginas de formularios Web Forms y se utilizan controles diseñados específicamente para dispositivos portátiles. Para obtener información detallada, vea Crear aplicaciones Web de ASP.NET Mobile.
Más información sobre la elección de controles
Como regla general, los controles de servidor Web tienen más capacidad y un modelo de objetos más enriquecido que los controles de servidor HTML. Si está escribiendo la página de formularios Web Forms para que todo el procesamiento se produzca en el servidor, los controles de servidor Web son una buena opción.
Controles de servidor Web
Los controles de servidor Web están diseñados para proporcionar una forma rápida y sencilla de agregarle funcionalidad (por ejemplo, presentación de datos o de fechas) a una página Web. También está diseñados para aplicaciones que funcionan de la misma manera sin tener en cuenta del tipo de explorador que tiene el usuario.
Las ventajas de los controles de servidor Web respecto a los controles de servidor HTML son:
- Los controles de servidor Web presentan un modelo de objetos tipo para una programación más limpia y una mejor comprobación de errores.
- Generan automáticamente HTML correcto para exploradores de nivel inferior (HTML 3.2) y superior (HTML 4.0). Para obtener información detallada, vea Controles de servidor ASP.NET y funciones del explorador.
- Se pueden utilizar para generar controles de servidor más complejos (como Calendar y DataGrid).
Los controles de servidor Web tienen la desventaja de que proporcionan menos control sobre cómo se procesa un control de servidor en la página enviada al explorador. Por ejemplo, no se pueden agregar atributos HTML a los controles durante el diseño. En lugar de ello, el elemento HTML y sus atributos se crean automáticamente a partir de la forma en que se haya programado el control.
Controles de servidor HTML
Los controles de servidor HTML son útiles para situaciones en la que programe un control en el servidor y en el cliente, porque el control será idéntico en los dos entornos en tiempo de ejecución. Esto hace que sea más fácil escribir la secuencia de comandos del cliente para el control.
Cuando se procesa una página de formularios Web Forms en el servidor, una instancia de cada control de servidor HTML se crea utilizando la información del elemento HTML subyacente. Los atributos reconocidos por la clase del control se convierten en propiedades. Los atributos desconocidos se omiten y pasan, por lo que aparecen en el explorador tal cual se crearon en la página (los atributos desconocidos son accesibles al código del servidor mediante la colección Attributes, pero no se convierten en propiedades del control).
Utilizar controles de servidor HTML también es una forma fácil de convertir una página HTML o ASP existente en una página de formulario Web Forms. Mediante la conversión de elementos HTML concretos de la página en controles de servidor HTML, es posible agregar a la página funcionalidad de formularios Web Forms con rapidez sin por ello afectar a la totalidad de la página.
Los controles de servidor HTML tienen las siguientes desventajas:
- Todos los valores son cadenas, por lo que no hay seguridad de tipos.
- Está disponible la compatibilidad con exploradores enriquecidos, pero debe programarla utilizando estilos extendidos. No hay detección automática de estilos de las capacidades del explorador.
Vea también
Controles de servidor ASP.NET | Controles de servidor ASP.NET por función