Professional Documents
Culture Documents
INTRODUCCIÓN.
Virtualmente todos los sitios web desarrollados profesionalmente tienen una apariencia muy
consistente entre sus páginas. Esto incluye tanto la estructura de la página (dónde aparecen los
elementos de la interface de usuario y cómo están orientados dentro de la página) y las fuentes de
texto, color y gráficos usados dentro de la página.
Esta idea se implementa con una plantilla que aloja el contenido HTML a ser presentado en cada
página, lo cual es logrado en ASP .NET por medio del uso de una página maestra, la cual es una
página ASP .NET regular en cuanto contiene tanto partes de código HTML como código C#, pero en
lugar de definir HTML para una página específica, aloja el contenido de la estructura común del
sitio web. Cada nueva página ASP .NET puede ser configurada para usar la apariencia de la página
maestra definida, y al actualizar la página maestra se actualizan todas las páginas que están
asociadas con ella.
1 de 7
Programación II Ing. René Alberto Castro Velásquez
Uno de los beneficios de usar páginas maestras es que se puede ajustar el aspecto general del sitio
mediante la actualización de la página maestra. Una vez la página maestra ha sido modificada y
guardada, sus páginas de contenido se mostrarían inmediatamente presentando la actualización
aplicada. En resumen, el definir una plantilla de sitio web incluye dos pasos:
1. Construir una página maestra que especifique los elementos comunes de la interface de
usuario en todo el sitio y las regiones que se pueden personalizar por página mostrada.
2. Crear las páginas del sitio ASP .NET, con las páginas configuradas para usar la página
maestra creada en el paso anterior.
5. Haga clic sobre el botón Add para agregar una página maestra al proyecto.
2 de 7
Programación II Ing. René Alberto Castro Velásquez
El control web ContentPlaceHolder define la región que puede ser editada por las páginas de
contenido, y pueden existir varios controles web ContentPlaceHolder en la página maestra. De
hecho, la página ya contiene dos controles web ContentPlaceHolder: uno dentro del elemento
HTML <head> y uno dentro de Web Form.
Para agregar un nuevo control web ContentPlaceHolder, arrastre ese control desde el Cuadro de
Herramientas hacia la página maestra. Puede encontrar ese control en la sección estándar.
NOTA: El control web ContentPlaceHolder puede ser agregado sólo a páginas maestras pero no a
páginas ASP .NET. Por tanto, este control lo puede encontrar en el Cuadro de Herramientas sólo
cuando visualiza una página maestra.
Si compara el código de marcación por defecto de una página maestra con el código de una página
ASP .NET regular, verá dos diferencias: la primera es que la página maestra inicia con una directiva
<%@ Master %> mientras que las páginas ASP .NET inician con la directiva <%@ Page %>.
Además, la página maestra contiene, por defecto, dos controles web ContentPlaceHolder.
Un proyecto de sitio web puede tener varias páginas maestras, cada una definiendo una plantilla
diferente. Por ejemplo, un sitio web puede estar dividido en tres secciones, con cada sección
conteniendo su apariencia única. En este caso, se crearían tres páginas maestras para el sitio.
Cuando se crea una nueva página ASP .NET, se asociaría con la página maestra adecuada.
Configure la página maestra con una tabla de dos filas y dos columnas, como se muestra en el
código siguiente.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs"
Inherits="MasterPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<style type="text/css">
.auto-style1 {
width: 100%;
text-align: center;
}
.auto-style2 {
width: 10%;
text-align: center;
vertical-align: top;
}
.auto-style3 {
width: 90%;
text-align: left;
vertical-align: top;
}
3 de 7
Programación II Ing. René Alberto Castro Velásquez
body {
background: linear-gradient(to right, #ADDFFF, #1F45FC);
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="auto-style1">
<tr>
<td colspan="2" class="auto-style1">
<asp:Label ID="lblTitulo" runat="server" Font-Bold="True"
Font-Size="XX-Large" Text="Este es un ejemplo sencillo
sobre el uso de Páginas Maestras"></asp:Label>
<br />
<br />
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="~/Default.aspx">Inicio</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink3" runat="server"
NavigateUrl="~/EnVenta.aspx">En Venta</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink5" runat="server"
NavigateUrl="~/Privacidad.aspx">Privacidad</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink4" runat="server"
NavigateUrl="~/Legal.aspx">Legal</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink2" runat="server"
NavigateUrl="~/AcercaDe.aspx">Acerca de</asp:HyperLink>
</td>
<td class="auto-style3">
<asp:ContentPlaceHolder id="ContentPlaceHolder1"
runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
4 de 7
Programación II Ing. René Alberto Castro Velásquez
5 de 7
Programación II Ing. René Alberto Castro Velásquez
6 de 7
Programación II Ing. René Alberto Castro Velásquez
Pruebe la aplicación.
7 de 7