Tutorial: Crear y usar páginas principales ASP.NET en Visual Web Developer
Actualización: noviembre 2007
Este tutorial muestra cómo crear una página principal y varias páginas de contenido. Las páginas principales permiten crear un diseño de página (una plantilla) y, a continuación, crear páginas independientes con contenido que se combina con la página principal en tiempo de ejecución. Para obtener más información sobre las páginas principales, vea Información general sobre las páginas principales ASP.NET.
Las tareas ilustradas en este tutorial incluyen:
Crear una página maestra
Crear una página ASP.NET con contenido que desea mostrar en la página principal.
Ejecutar las páginas principales para mostrar contenido diferente.
Seleccionar una página principal en tiempo de ejecución.
Requisitos previos
Para poder completar este tutorial, necesitará:
Visual Studio o Microsoft Visual Web Developer Express.
Opcionalmente, un archivo .jpg, .gif u otro archivo gráfico que pueda utilizar como logotipo en su página principal. Se recomienda que el logotipo no tenga más de 48 píxeles de ancho. Sin embargo, mostrar un logotipo es opcional y el tamaño exacto del gráfico no es importante para el tutorial.
Crear un sitio Web
Si ya ha creado un sitio web en Visual Web Developer (por ejemplo, según los pasos indicados en Tutorial: Crear una página Web básica en Visual Web Developer), puede usar dicho sitio web y pasar a la siguiente sección, Crear la página principal. De lo contrario, cree un sitio Web y una página nuevos siguiendo estos pasos.
Para crear un sitio Web del sistema de archivos
Abra Visual Web Developer.
En el menú Archivo, haga clic en Nuevositio Web.
Aparece el cuadro de diálogo Nuevo sitio Web.
En Plantillas instaladas de Visual Studio, haga clic en Servicio Web ASP.NET.
En el cuadro Ubicación, escriba el nombre de la carpeta dónde desea guardar las páginas de su sitio Web.
Por ejemplo, escriba el nombre de carpeta C:\WebSites.
En la lista Lenguaje, haga clic en el lenguaje de programación con el que prefiera trabajar.
Haga clic en Aceptar.
Visual Web Developer crea la carpeta y una página nueva denominada Default.aspx.
Crear la página principal
La página principal es la plantilla que define la apariencia que tendrán las páginas. En esta sección, creará primero una página principal. A continuación, utilizará una tabla para diseñar la página principal con un menú, un logotipo y un pie que aparecerán en todas las páginas del sitio. También trabajará con un marcador de posición de contenido, que es un área de la página que se puede reemplazar por información en una página de contenido.
Para crear la página principal
En el Explorador de soluciones, haga clic con el botón secundario en el nombre del sitio web y, a continuación, seleccione Agregar nuevo elemento.
En Plantillas instaladas de Visual Studio, haga clic en Página principal.
En el cuadro Nombre, escriba Master1.
Active la casilla Colocar el código en un archivo independiente.
Nota: En este tutorial se supone que está utilizando archivos de código subyacente para todas las páginas. Si utiliza una página ASP.NET de un único archivo, el código que se muestra en el tutorial funcionará, pero aparecerá en la vista Código fuente, no en un archivo de código independiente.
En la lista Lenguaje, haga clic en el lenguaje de programación con el que prefiera trabajar y, a continuación, haga clic en Agregar.
La nueva página principal se abre en la vista Código fuente.
En la parte superior de la página hay una declaración @ Master en lugar de la declaración @ Page que normalmente se encuentra en la parte superior de las páginas ASP.NET. El cuerpo de la página contiene un control ContentPlaceHolder, que es el área de la página maestra donde se combinará el contenido reemplazable de las páginas en tiempo de ejecución. En el tutorial, trabajará después más con el marcador de posición de contenido.
Diseñar la página principal
La página principal define la apariencia de las páginas del sitio. Puede contener cualquier combinación de texto estático y controles. Una página principal también contiene uno o más marcadores de posición de contenido que indican dónde aparecerá el contenido dinámico cuando se muestren las páginas.
En este tutorial, utilizará una tabla como ayuda para colocar los elementos en la página. Empezará por crear una tabla de diseño para alojar los elementos de la página principal. Más adelante en esta sección colocará el control de marcador de posición de contenido que ya está en la página.
Para crear una tabla de diseño para la página principal
Con el archivo Master1.master seleccionado en la vista Código fuente, establezca el esquema de destino para la validación en Microsoft Internet Explorer 6.0. Para establece este valor, puede utilizar la lista desplegable de la barra de herramientas o seleccionar Opciones en el menú Herramientas y, a continuación, hacer clic en Validación.
Cambie a la vista Diseño.
En la lista desplegable de la parte superior de la ventana Propiedades, seleccione DOCUMENTO y, a continuación, establezca BgColor en un color distintivo, por ejemplo azul.
El color que selecciona no es importante. Más adelante en este tutorial creará una segunda página principal sin color, que contrastará con lo que seleccione aquí.
Haga clic en la página donde desea colocar la tabla de diseño.
Nota: No coloque la tabla de diseño en el control ContentPlaceHolder.
En el menú Tabla, haga clic en Insertar tabla.
En el cuadro de diálogo Insertar tabla cree una tabla con tres filas y una columna y, a continuación, haga clic en Aceptar.
Coloque el cursor dentro de la segunda fila de la tabla.
En el menú Tabla, en el submenú Modificar, haga clic en Dividir celdas.
En el cuadro de diálogo Dividir celdas, seleccione Dividir en columnas y, a continuación, haga clic en Aceptar.
Configure las opciones siguientes:
En la fila central, haga clic en la columna situada más a la izquierda y, a continuación, establezca su Ancho en 48 en la ventana Propiedades.
Haga clic en la fila superior y, a continuación, establezca su Alto en 48 en la ventana Propiedades.
Haga clic en la fila inferior y, a continuación, establezca su Alto en 48 en la ventana Propiedades.
Nota: Para establecer el alto y ancho, arrastre los bordes de la celda o seleccione la celda y establezca los valores en la ventana Propiedades.
Seleccione todas las celdas en la tabla y establezca BgColor en un color diferente que el color de fondo.
Después de diseñar la tabla, puede agregar el contenido a la página principal que aparecerá en todas las páginas. Agregará un mensaje de copyright como pie de página y, a continuación, un menú. Si tiene un gráfico de logotipo disponible, también puede agregarlo.
Para agregar contenido estático a la página principal
Haga clic en la celda inferior y, a continuación, escriba el texto del pie de página, por ejemplo Copyright 2007 Contoso Inc.
En el Cuadro de herramientas, arrastre un control Menu desde el grupo de controles Navegación hasta la celda superior.
Cree un menú siguiendo estos pasos:
Establezca la propiedad Menu del control Orientation en Horizontal.
Haga clic en la etiqueta inteligente en el control Menu y haga clic en Editar elementos de menú en el cuadro de diálogo Tareas de menú.
En Elementos, haga clic dos veces en el icono Agregar un nodo raíz para agregar dos elementos de menú:
Haga clic en el primer nodo y, a continuación, establezca Text en Home y href en Home.aspx.
Haga clic en el segundo nodo y, a continuación, establezca AboutText a y href en About.aspx.
Haga clic en Aceptar para cerrar el cuadro de diálogo Editor de elementos de menú.
Si tiene un archivo gráfico disponible para utilizarlo como logotipo, siga estos pasos para colocarlo en la página principal:
En el Explorador de soluciones, haga clic con el botón secundario en el nombre del sitio web y, a continuación, seleccione Agregar elemento existente.
Navegue a su archivo gráfico, selecciónelo y, a continuación, haga clic en Agregar.
En el Cuadro de herramientas, arrastre un control Image desde el grupo Estándar hasta la columna central izquierda de la tabla.
Establezca la propiedad ImageUrl del control Image en el nombre del archivo gráfico.
Ahora puede colocar el marcador de posición de contenido para especificar dónde puede mostrar contenido la página principal en tiempo de ejecución.
Para agregar un marcador de posición de contenido
Arrastre el control ContentPlaceHolder a la celda central derecha.
La propiedad ID del control es ContentPlaceholder1. Puede dejar este nombre o cambiarlo. Si cambia el nombre, anótelo porque necesitará recordarlo más adelante.
Guarde la página.
Crear contenido para la página principal
La página principal proporciona la plantilla para el contenido. El contenido de la página principal se define creando una página ASP.NET que se asocia a la página principal. La página de contenido es un formulario especializado de una página ASP.NET que incluye sólo el contenido que se va a combinar con la página principal. En la página de contenido, agregará el texto y los controles que desee mostrar cuando los usuarios soliciten la página.
En este tutorial, agregará dos páginas con contenido para la página principal. La primera es una página de inicio y la segunda es una página Acerca de.
Para crear la página de inicio
En el Explorador de soluciones, haga clic con el botón secundario en el nombre del sitio web y, a continuación, haga clic en Agregar nuevo elemento.
En Plantillas instaladas de Visual Studio, haga clic en Web Forms.
En el cuadro Nombre, escriba Home.
En la lista Lenguaje, haga clic en el lenguaje de programación con el que prefiera trabajar.
Active la casilla Seleccionar la página principal y, a continuación, haga clic en Agregar.
Aparece el cuadro de diálogo Seleccionar la página principal.
Haga clic en Master1.master y en Aceptar.
Se crea un nuevo archivo .aspx. La página contiene una directiva @ Page que asocia la página actual a la página principal seleccionada con el atributo MasterPageFile, tal como se muestra en el ejemplo de código siguiente.
[Visual Basic]
<%@ Page Language="VB" MasterPageFile="~/Master1.master" ... %>
[C#]
<%@ Page Language="C#" MasterPageFile="~/Master1.master" ... %>
La página también contiene un elemento de control Content con el que trabajará luego.
Una página de contenido no tiene los elementos usuales que constituyen una página ASP.NET, como html, body o form. En su lugar, el contenido que se desea mostrar en la página principal se agrega reemplazando las áreas de marcador de posición creadas en dicha página.
Para agregar contenido a la página de inicio
Cambie a la vista Diseño.
Los controles ContentPlaceHolder de la página maestra se muestran como controles Content en la nueva página de contenido. Se muestra el resto del contenido de la página maestra para que pueda ver el diseño. Sin embargo, parece atenuado porque no puede cambiarlo mientras está editando una página de contenido.
En la lista desplegable de la ventana Propiedades, haga clic en DOCUMENTO y, a continuación, establezca Título en Contoso Home Page.
Puede establecer el título de cada página de contenido de forma independiente a fin de que se muestre el título correcto en el explorador cuando el contenido se combine con la página principal. La información del título se almacena en la directiva @ Page de la página de contenido.
En el control Content que coincide con ContentPlaceHolder1 en la página maestra, escriba Bienvenido al sitio web de Contoso.
Seleccione el texto y, a continuación, asígnele el formato de encabezado seleccionando Encabezado 1 en la lista desplegable Formato del bloque situada encima del Cuadro de herramientas.
Presione ENTRAR para crear una nueva línea en blanco en el control Content y, a continuación, escriba Thank you for visiting our site.
El texto que agrega aquí no es importante; puede escribir cualquier texto que le ayude a reconocer que es la página de inicio.
Guarde la página.
Puede crear la página Acerca de tal como creó la página de inicio.
Para crear la página Acerca de
Utilice los mismos pasos que al crear la página de inicio para agregar una nueva página de contenido denominada About.aspx.
Asegúrese de asociar la nueva página a la página Master1.master como hizo con la página de inicio.
Cambie el título de la página a Contoso About Page.
En el área de contenido, escriba About Contoso y, a continuación, para dar formato al texto como Encabezado 1, seleccione el texto y haga clic en Encabezado 1 en la lista desplegable Formato del bloque situada sobre el Cuadro de herramientas.
Presione ENTRAR para crear una nueva línea y, a continuación, escriba Since 1982, Contoso has provided high-quality software services.
Guarde la página.
Probar las páginas
Puede probar las páginas ejecutándolas tal como haría con cualquier página ASP.NET.
Para probar las páginas
Cambie a la página Home.aspx y, a continuación, presione CTRL+F5.
ASP.NET combina el contenido de la página Home.aspx con el diseño de la página Master1.master en una sola página y muestra el resultado en el explorador. Observe que la dirección URL de la página es Home.aspx; no hay ninguna referencia en el explorador a la página principal.
Haga clic en el vínculo About.
Se muestra la página About.aspx. También se combina con la página Master1.master.
Hacer referencia a miembros de la página principal
El código de las páginas de contenido puede hacer referencia a miembros de la página principal, como propiedades o métodos públicos y controles de la página principal. En esta parte del tutorial, creará una propiedad en la página principal y, a continuación, utilizará el valor de la propiedad en las páginas de contenido. La premisa es que el nombre de la compañía para el sitio Web está almacenado como una propiedad en la página principal y cualquier referencia a él en las páginas de contenido se basa en la propiedad de la página principal.
El primer paso es agregar una propiedad a la página principal.
Para agregar una propiedad a la página principal
Cambie a la página Master1.master o ábrala.
En el Explorador de soluciones, haga clic con el botón secundario en Master1.master y haga clic en Ver código para abrir el editor de código.
Nota: De forma predeterminada, Visual Web Developer crea páginas que utilizan el modelo de código subyacente. Si lo prefiere, puede crear el código utilizando el modelo de un solo archivo. Para obtener más información, vea Modelo de código de las páginas web ASP.NET.
En la definición de clase, escriba el código siguiente.
Public Property CompanyName() As String Get Return CType(ViewState("companyName"), String) End Get Set(ByVal Value As String) ViewState("companyName") = Value End Set End Property
public String CompanyName { get { return (String) ViewState["companyName"]; } set { ViewState["companyName"] = value; } }
El código crea una propiedad denominada CompanyName para la página principal. El valor se almacena en estado de vista para que se conserve entre las devoluciones de datos.
En la definición de clase (pero no dentro del código de la propiedad), agregue el código siguiente.
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _ Handles Me.Init Me.CompanyName = "Contoso" End Sub
void Page_Init(Object sender, EventArgs e) { this.CompanyName = "Contoso"; }
En este ejemplo, integrará el valor de la propiedad CompanyName en la página.
Ahora puede modificar la página de contenido para utilizar la propiedad CompanyName de la página principal.
Para hacer referencia a la propiedad CompanyName en la página de contenido
Cambie a la página Home.aspx o ábrala.
Cambie a la vista Código fuente.
En la parte superior de la página, bajo la directiva @ Page, agregue la siguiente directiva @ MasterType:
<%@ MasterType virtualpath="~/Master1.master" %>
La directiva enlaza la propiedad Master de la página de contenido, que utilizará en breve, a la página Master1.master.
Cambie a la vista Diseño.
En el control Content, cambie el texto a Welcome to the Web site of.
En el Cuadro de herramientas, arrastre un control Label desde el grupo Estándar hasta el control Content y coloque después el texto estático siguiente:
Welcome to the Web site of [Etiqueta]
Establezca la propiedad ID del control Label en CompanyName.
En el Explorador de soluciones, haga clic con el botón secundario en Home.aspx y seleccione Ver código para abrir el editor de código.
En la definición de clase, agregue el código siguiente.
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) _ Handles Me.Load CompanyName.Text = Master.CompanyName End Sub
void Page_Load(Object sender, EventArgs e) { CompanyName.Text = Master.CompanyName; }
La propiedad Master de la página de contenido devuelve una referencia a la página maestra tal como se define en la directiva @ MasterType que agregó en el paso 3.
Ahora puede probar la página de contenido para asegurarse de que hace referencia correctamente a la propiedad CompanyName de la página principal.
Para probar la referencia a la propiedad de la página principal
Cambie a la página Home.aspx o ábrala y, a continuación, presione CTRL+F5 para ejecutarla.
La página se muestra en el explorador con el texto Welcome to the Web site of Contoso
Cierre el explorador.
Cambie a la página de código subyacente Master1.master o ábrala.
Cambie el controlador Page_Init para asignar un nombre de compañía diferente a la propiedad, como en el ejemplo de código siguiente.
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _ Handles Me.Init Me.CompanyName = "New Company Name" End Sub
void Page_Init(Object sender, EventArgs e) { this.CompanyName = "New Company Name"; }
Cambie a la página Home.aspx y, a continuación, presione CTRL+F5 para ejecutarla de nuevo.
Esta vez, el nombre de la compañía actualizado aparece en la página.
Cambiar las páginas principales dinámicamente
Bajo ciertas circunstancias, quizás desee poder cambiar las páginas principales dinámicamente; es decir, utilizar código que establezca la página principal para una página de contenido. Por ejemplo, es posible que desee permitir a los usuarios seleccionar entre varios diseños y establecer la página principal según sus preferencias.
En esta parte del tutorial, agregará una segunda página principal al sitio Web y creará botones que permitan al usuario cambiar entre dos páginas principales. Como ambas páginas principales serán muy similares, hará una copia de la primera y la modificará para que actúe como la segunda.
Para realizar una copia de la página principal
En el Explorador de soluciones, haga clic con el botón secundario en Master1.master y, a continuación, haga clic en Copiar.
Haga clic con el botón secundario del mouse en el nombre del sitio Web y, a continuación, haga clic en Pegar.
Se agrega al sitio Web una página principal con el nombre Copia de master1.master.
Haga clic con el botón secundario del mouse en Copia de master1.master, haga clic en Cambiar nombre y, a continuación, asigne el nombre Master2.master a la nueva página principal.
Abra Master2.master y, en la directiva @ Master, cambie Master1 a Master2.
La directiva de página finalizada tendrá una apariencia similar al ejemplo de código siguiente:
<%@ Master Language="VB" CodeFile="Master2.master.vb" Inherits="Master2" %>
<%@ Master Language="C#" CodeFile="Master2.master.cs" Inherits="Master2" %>
Cambie a la vista Diseño.
En la ventana Propiedades, en la lista desplegable de la parte superior, haga clic en DOCUMENTO.
Borre la propiedad BgColor.
La nueva página principal tendrá la misma apariencia y funcionamiento que Master1.master, pero no tendrá ningún color de fondo.
Abra el archivo de código de Master2.master y cambie el nombre de la clase en el archivo de código subyacente de la página principal de Master1 a Master2 de manera que coincida con el valor del atributo Inherits de la directiva @ Master de la página.
El código debe tener la apariencia del ejemplo siguiente:
Partial Class Master2
public partial class Master2 : System.Web.UI.MasterPage
El paso siguiente es agregar a cada página principal un botón que permita al usuario seleccionar la página principal alternativa.
Para agregar los botones para seleccionar una página principal alternativa
Cambie a la página Master2.master o ábrala.
En el Cuadro de herramientas, arrastre un control LinkButton desde el nodo Estándar hasta la página y colóquelo bajo el menú de la celda superior de la tabla.
Establezca la propiedad Text del botón en Colorful.
Haga doble clic en el botón a fin de crear un controlador para su evento Click y, a continuación, agregue el código resaltado siguiente.
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_ Handles LinkButton1.Click Session("masterpage") = "Master1.master" Response.Redirect(Request.Url.ToString()) End Sub
[C#]
void LinkButton1_Click(Object sender, EventArgs e) { Session["masterpage"] = "Master1.master"; Response.Redirect(Request.Url.ToString()); }
El código carga el nombre de archivo de la página principal alternativa en una variable de sesión persistente y, a continuación, vuelve a cargar la página actual. (La propiedad Url devuelve un objeto Uri que hace referencia a la página actual.) En un momento, creará el código de la página de contenido que utilizará el nombre de la página principal.
Cambie a la página Master1.master o ábrala en la vista Diseño.
Agregue un control LinkButton como hizo en los pasos 1 y 2, y establezca su propiedad Text en Plain.
Haga doble clic en el botón Plain a fin de crear un controlador para su evento Click y, a continuación, agregue el código resaltado siguiente.
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_ Handles LinkButton1.Click Session("masterpage") = "Master2.master" Response.Redirect(Request.Url.ToString()) End Sub
void LinkButton1_Click(Object sender, EventArgs e) { Session["masterpage"] = "Master2.master"; Response.Redirect(Request.Url.ToString()); }
Este código es igual que el del botón de la página Master2.master, excepto en que carga una página principal alternativa.
Ahora va a escribir el código de la página de contenido que cargará dinámicamente la página principal seleccionada por el usuario.
Para escribir el código para seleccionar dinámicamente la página principal
Cambie a la página About.aspx o ábrala.
Nota: La página de inicio que ya ha creado contiene una directiva @ MasterType que la enlaza efectivamente a una página principal única (Master1.master). Por tanto, no podrá asignar páginas principales dinámicamente a la página de inicio y, en cambio, trabajará con otras páginas que ha creado.
En el Explorador de soluciones, haga clic con el botón secundario en About.aspx y haga clic en Ver código para abrir el editor de código.
En la definición de clase, agregue el código siguiente.
Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) _ Handles Me.PreInit If Not Session("masterpage") Is Nothing Then Me.MasterPageFile = CType(Session("masterpage"), String) End If End Sub
void Page_PreInit(Object sender, EventArgs e) { if(Session["masterpage"] != null) { this.MasterPageFile = (String) Session["masterpage"]; } }
El código establece el valor de la propiedad MasterPageFile de la página actual en el valor de la variable de sesión, si hay alguno. Este código se debe ejecutar en el controlador Page_PreInit; no se puede ejecutar en un controlador que se produzca después que Page_PreInit (por ejemplo, en el controlador Page_Init), porque la página principal debe configurarse para poder crear una instancia de ella antes de que tenga lugar cualquier inicialización posterior.
Ahora puede probar las páginas principales dinámicas.
Para probar las páginas principales dinámicas
En la página About.aspx, presione CTRL+F5 para ejecutar la página.
La página se muestra en el explorador combinada con su página principal predeterminada, Master1.master.
Haga clic en el vínculo Plain.
Se vuelve a mostrar la página, esta vez combinada con Master2.master, que no tiene ningún color de fondo.
Haga clic en el vínculo Colorful.
La página se muestra de nuevo utilizando Master1.master.
Notas sobre el uso de páginas maestras
Hay otros aspectos que debe tener en cuenta al trabajar con una página principal:
En una aplicación real, probablemente almacenaría la información similar al nombre de la compañía en el archivo de configuración y la leería directamente en las páginas de contenido. Sin embargo, el escenario descrito aquí proporciona una ilustración simple de cómo hacer referencia a los miembros de página principal en páginas de contenido.
Incluso puede tener acceso a los miembros de la página principal sin utilizar una directiva @ MasterType. Sin embargo, para hacerlo debe convertir la propiedad Page.Master en el tipo de página principal apropiado (la propiedad Master es null si una página no tiene su correspondiente página principal). Para obtener más información, vea Trabajar con las páginas principales ASP.NET mediante programación.
Puede hacer referencia a los controles en la página principal utilizando el método Master.FindControls. Para obtener más información, vea Trabajar con las páginas principales ASP.NET mediante programación.
Hay otros aspectos que debe tener en cuenta al trabajar con páginas principales dinámicas:
El escenario de esta sección para cambiar las páginas principales se ha simplificado para mantener el tutorial centrado en las páginas principales. En una aplicación real, probablemente mostraría varios diseños y, a continuación, almacenaría las preferencias del usuario utilizando perfiles. Para obtener información detallada, vea Información general sobre las propiedades de perfil de ASP.NET.
Puede configurar el sitio Web para que todas las páginas utilicen la misma página principal. Quizás tenga unas cuantas páginas que deberían utilizar una página principal alternativa; puede configurarlas en el código de una forma similar a la mostrada en esta sección del tutorial. Para obtener más información, vea "Ámbito de las páginas principales" en Información general sobre las páginas principales ASP.NET.
Tiene que agregar el código de la página Home.aspx a cada página donde desee reemplazar la página principal predeterminada.
Pasos siguientes
Este tutorial muestra la funcionalidad básica de páginas principales. Quizás desee probar otras características de las páginas principales. Por ejemplo, podría:
Crear páginas principales que tienen varios marcadores de posición de contenido. Puede llenar a continuación uno o más marcadores de posición de contenido para cada página que muestre.
Definir marcadores de posición de contenido predeterminado. Si una página ASP.NET no proporciona el contenido para el marcador de posición, la página principal muestra el contenido predeterminado.
Tener acceso a los miembros de la página principal desde las páginas de contenido mediante programación. Esto permite cambiar dinámicamente la apariencia de la página principal en tiempo de ejecución. Para obtener información detallada, vea Cómo: Hacer referencia al contenido de la página principal ASP.NET.
Utilizar el filtrado de dispositivos con las páginas principales a fin de crear diferentes diseños para distintos dispositivos, por ejemplo un diseño para exploradores y otro para un tipo de teléfono concreto. Para obtener información detallada, vea Información general sobre el filtrado de dispositivos de ASP.NET.
Obtener información sobre cómo puede colocar unas páginas principales dentro de otras para crear partes divididas en componentes. Para obtener información detallada, vea Páginas principales ASP.NET anidadas.
Vea también
Conceptos
Información general sobre las páginas principales ASP.NET
Eventos en páginas principales y páginas de contenido ASP.NET