Sunteți pe pagina 1din 16

AIEP 2014 Profesor Sr.

Guillermo Henrquez Estrada


Master Pages y Content Pages
Objetivo:
* Manejar Master Pages
La definicin de una Master Page es como la de cualquier pgina. Las Master Pages pueden contener marcar, controles, cdigo o
cualquier combinacin de estos elementos. Sin embargo, una Master Page puede contener un tipo especial de control llamado
ContentPlaceHolder. Un ContentPlaceHolder define una regin de la representacin de la master page que puede substituirse por
el contenido de una pgina asociada a la maestra. Un ContentPaceHolder tambin puede contener informacin por defecto, por si
la pgina derivada no necesita sobre escribir este contenido. La sintaxis de un control ContentPlaceHolder es como sigue:

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Para diferenciar una Master Page de una pgina normal, la Master Page se guarda con una extensin .master. Una pgina puede
derivar de una Master Page simplemente con definir un atributo MasterPageFile en su directiva Page, de la forma vista arriba. Una
pgina que se asocia a una Master Page se llama Content Page (Pgina de Contenido).
<%@ Page MasterPageFile="Site.master" %>
Una Content Page puede declarar controles Content que sobrescriban especficamente el contenido de las secciones marcadas en
la Master Page. Un control Content se asocia a un control ContentPlaceHolder particular a travs de la propiedad
ContentPlaceHolderID. Una Content Page debe contener marcas y controles slo dentro de los controles Content; no puede tener
ningn contenido de alto nivel por s misma. Puede, sin embargo, tener directivas o cdigo del lado del servidor.

Accediendo a una Master Page desde Cdigo

Adems de sobre escribir el contenido, es posible que la Content Page acceda de forma programada a su Master Page. Una
Content Page crea una referencia fuertemente tipada a la Master Page mediante la directiva <%@ MasterType %>, especificando
la ruta virtual de la pgina maestra:
<%@ MasterType VirtualPath="Site.master" %>
Por lo tanto, la Content Page puede referenciar la Master Page mediante la propiedad Master de la clase Page:
Master.FooterText = "This is a custom footer"; AdRotator ad = (AdRotator)Master.FindControl("MyAdRotator");
En el ejemplo de cdigo anterior, FooterText es una propiedad pblica expuesta en la Master Page, mientras que MyAdRotator es
un control de la Master Page.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Anidando Master Pages
Las Content Pages tambin pueden ser Master Pages. Esto quiere decir que es posible derivar una Master Page a partir de otra
Master Page. Por ejemplo, podramos tener una Master Page de primer nivel que represente la cabecera/pie de pgina y la
navegacin global del sitio, y despus Master Pages separadas que deriven de esta Master para definir los aspectos de las
diferentes sub-secciones del sitio. Las Content Pages derivarn de la pgina maestra correspondiente a la seccin a la que
pertenece la Content Page.
Ejemplo:
Para empezar crearemos un sitio web, y lo primero que haremos es crear una pgina maestra y le pondremos de nombre site, este
quedara como site.master

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

Al crear la site.master, nos creara una divisin que tendr de nombre ContentPlaceHolder1, en esta rea se desarrollan todas los
formularios que se crean. Posteriormente se creara un tabla de 2 x 2 abajo del ContentPlaceHolder1.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Ahora con el mouse trasladaremos el ContentPlaceHolder1 a la celda inferior derecha y se mostrara segn la siguiente figura.

Esto lo hacemos para dejar espacio para el diseo del master page, en la celda inferior izquierda incorporaremos un men, a partir
del control de herramienta, pestaa Navegacin, opcin menu.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

Ahora dejaremos por un momento el site.master y comenzaremos a crear formularios para incorporarlos al master page.
Ahora empezaremos a crear los formularios, para esto debemos, crear un formulario y activar un check box que est abajo que
dice Seleccionar pgina maestra, dejaremos el nombre de Default.aspx a este formulario.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Al crearlo le pedir a que Master Page quieren relacionarlo. Toman la opcin de site.master.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Al crear el formulario tendr el nombre de Default.aspx con la siguiente configuracin. En la cual especifica que esta relacionado al
site.master

La vista diseo se vera de la siguiente forma:

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


El script Default.aspx muestra la forma en que definimos el site master, pero solo me da la opcin de cambiar el
ContentPlaceHolder1 nos aparece personalizado, all crearemos un formulario cualquiera para poder realizar el ejemplo. Aqu
tienen uno.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Una vez creado este formulario disearemos dos ms con el nombre Default2.aspx y Default3.sapx los cuales incorporaremos
posteriormente al page master: site.master.
Ahora en el script site.master le incorporaremos un poco de diseo para ver el comportamiento de las paginas maestras.

.
Ahora configuraremos el men para que llamen a los tres formularios.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

Configuraremos, cada opcin para que llame a los tres script que creamos, en la opcin text le pondremos el nombre a la opcin,
y en la propiedad NavigateUrl seleccionare un script para cada opcin.

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada

AIEP 2014 Profesor Sr. Guillermo Henrquez Estrada


Una vez estn todas las opciones configuras el script site.master tendr este aspecto.

Ahora prueben el resultado.


Ejercicio:
1. Cree un Master Page con un diseo con imgenes de internet y cree 3 formularios aplicando texto e imgenes en cada uno de
ellos.
2. Cree un Master Page usando sola barra vertical izquierda, y tambin cree 3 formularios aplicando todo lo aprendido hasta hoy.
3. En ambos incluya tambin un men.

S-ar putea să vă placă și