Organizar el contenido con contenedores
Actualización: noviembre 2007
Los controles de ASP.NET mobile utilizan dos controles contenedores para organizar el contenido de las páginas Web de ASP.NET Mobile: el control Form y el control Panel. Estos contenedores crean grupos lógicos de controles. También sirven de ayuda para aplicar estilos a áreas específicas de las páginas. Además, sirven de ayuda a ASP.NET a la hora de representar páginas.
Nota
Visual Studio establece el tamaño inicial de todos los controles contenedores en un valor predeterminado. Este tamaño aumenta a medida que se agregan controles al contenedor; los controladores de ajuste de tamaño no permiten modificar el tamaño de un contenedor.
Página Web móvil
Los contenedores, el contenido y los controles de los dispositivos móviles residen en páginas Web móviles derivadas de la clase MobilePage. Puede haber páginas Web móviles en cualquier sitio Web de ASP.NET junto con las páginas Web ASP.NET. Las páginas Web móviles están asociadas a direcciones URL que hacen referencia a un servidor Web. Cada instancia de MobilePage debe contener al menos un control Form, que, a su vez, contiene el texto y los controles de la página. A diferencia de las páginas Web ASP.NET, una página Web móvil puede contener varios controles Form. Todos los controles, excepto el control StyleSheet, deben residir en un control Form.
Cuando se crea una nueva página Web móvil en Visual Studio, el primer formulario se agrega a la página de forma predeterminada.
Ubicación de controles
Los controles se colocan en un control MobilePage en orden secuencial. Este comportamiento es diferente en las páginas Web ASP.NET, que permiten la colocación de unos controles junto a otros y la posición absoluta de controles. Las aplicaciones no pueden garantizar el diseño de controles colocados unos junto a otros debido a la amplia gama de dispositivos de hardware que admiten controles de ASP.NET Mobile. Esto ocurre, sobre todo, con los dispositivos WML. No obstante, muchos de los controles de ASP.NET Mobile exponen la propiedad BreakAfter. En la mayoría de los dispositivos, especialmente en los que admiten HTML, cuando se establece esta propiedad en false, el control siguiente se inicia en la misma línea.
Nota
La vista Diseño de Visual Studio no muestra los controles unos junto a otros, aunque la propiedad BreakAfter esté establecida en false.
Los controles de ASP.NET Mobile no admiten la posición absoluta de los controles. En la vista Diseño, puede agregar controles a un formulario o un panel en el orden que desee que se muestren al usuario, pero no puede definir su posición absoluta cuando se representan en la pantalla de un dispositivo móvil.
Visual Studio permite personalizar el aspecto de los controles y las páginas Web móviles para dispositivos específicos. Esta flexibilidad garantiza que la aplicación tenga una apariencia funcional y atractiva en los dispositivos en los que aparezca. Para obtener más información, vea Personalizar controles Web de ASP.NET Mobile para dispositivos específicos.
Cuando arrastre un control desde el Cuadro de herramientas hasta un formulario o un panel, asegúrese de colocar el control en la posición apropiada de la página.
Form
Las páginas Web móviles muestran todos los controles y todo el contenido en controles Form. Cada página debe tener al menos un formulario y, en tiempo de ejecución, muestra un formulario cada vez. El formulario que se muestra es el formulario activo. Cuando se carga una página, la aplicación utiliza de manera predeterminada el primer formulario definido en la página como formulario activo. La aplicación puede establecer el formulario activo mediante programación a través de la propiedad ActiveForm, ya sea cuando se carga la página o como respuesta a una selección realizada por el usuario.
Las páginas móviles disponen de una capacidad limitada para conservar la información de estado. Si las páginas se organizan en formularios, se puede transferir información de estado más compleja de un formulario al siguiente, en lugar de tener que pasar la información de una página a otra. De este modo, se reduce la cantidad de datos que la aplicación debe intercambiar con el servidor.
Además, los dispositivos en que las páginas Web de ASP.NET Mobile suelen verse disponen de áreas de pantalla más pequeñas que los exploradores de las aplicaciones de escritorio. Sin formularios, se necesitaría crear un número mayor de páginas en la aplicación para mostrar el mismo volumen de información. En lugar de dividir las aplicaciones en un mayor número de páginas, puede dividir las páginas en formularios y mostrarlos de uno en uno. Esta función ayuda a mantener una relación uno a uno entre el número de páginas de la versión de escritorio y el número de páginas de la versión móvil de las aplicaciones.
Todos los formularios de una página comparten el mismo código. Por tanto, distintos formularios pueden utilizar las mismas propiedades y métodos.
A la hora de tomar una decisión, debe tener en cuenta las ventajas e inconvenientes derivados de insertar un grupo de controles en el formulario de una página existente o de colocarlos en una página nueva. Algunos de los factores que deben tenerse en cuenta son:
Tiempo de carga. Cuando se carga una página, se crea una instancia de todos los formularios de la página. Las páginas que tengan muchos formularios tardarán más en cargarse que las que tengan un menor número de formularios.
Tiempo de navegación. Es más rápido desplazarse de un formulario a otro de la misma página que cargar una página nueva. Esto ocurre aunque la página nueva contenga menos controles.
Información de estado. La cantidad de información de estado que se conserva de un formulario a otro es mayor que la cantidad de información que se conserva de una página a otra.
Accesibilidad. Todas las páginas de una aplicación tienen una dirección URL distinta. Sólo se puede obtener acceso al primer formulario de una página desde otra página.
Cuando se crea una nueva página Web móvil en Visual Studio, esta contiene un formulario vacío. Puede agregar más formularios desde el Cuadro de herramientas. También puede utilizar el Cuadro de herramientas para agregar controles a cada formulario. Para agregar contenido de texto, escriba el texto directamente en el formulario.
Panel
Utilice el control Panel para agrupar todos los controles en un formulario. De este modo, puede aplicar un objeto StyleSheet a todo el grupo. Para obtener más información, vea Introducción al control StyleSheet.
Los paneles también sirven de ayuda a las aplicaciones a la hora de determinar la paginación. ASP.NET intenta que todos los controles de un panel se muestren en pantalla a la vez.
Para agregar paneles a una aplicación, arrástrelos desde el Cuadro de herramientas. Todos los controles de un panel heredan los estilos del panel. Puede insertar paneles en formularios o en otros paneles. Cuando una aplicación oculta o muestra un panel, aplica las mismas acciones a los controles del panel. Además, las aplicaciones pueden utilizar los controles del panel como contenedores de los controles creados de forma dinámica.