.NET

17 jun, 2009

Master Pages com ASP.NET

Publicidade

Master pages é um recurso que permite criar templates pré-definidos para criação do layout de um website ou aplicação web-based, o que facilita em muito o desenvolvimento, uma vez que não é necessário repetir os passos de desenho da aplicação em cada uma das páginas.

Começando, criamos um novo projeto, neste caso File > New Website. Em seguida inserimos uma Master Page. Botão direito do mouse na raiz do site (Solution Explorer), Add new Item e selecionamos Master Page.

Damos o nome, que poderá ficar mesmo “Master Page” e OK. Será criado um novo arquivo ou página com a extensão .master. Esta será o template da nossa aplicação.

Depois de termos algumas imagens e mesmo CSS no nosso projeto, podemos começar a adicionar elementos à página que servirá de modelo ao site.

No modo Design podemos ver que existe um novo elemento, o ContentPlaceHolder1. Este elemento é o local dentro do qual é colocado o conteúdo que difere de página para página, ou melhor, todos os elementos que ficarem fora desta tag serão comuns a todas as páginas que utilizarem a Master Page.

Agora poderemos adicionar à página todos os elementos de layout. Neste exemplo adicionei uma tabela para construção de uma página “starndart” para um site ou aplicação com header, footer, menu e o local onde irá estar o conteúdo (ao centro).

O ContentPlaceHolder pode ser arrastado para o local pretendido.

Agora que temos a nossa Master Page criada, podemos adicioná-la a outras páginas existentes ou que se venham a criar.

No caso de uma página já existente, como é o caso da Default.aspx fazemos da seguinte forma:

Abrimos a página em modo de code view (Source), apagamos todo o código HTML e na tag do ASP colocamos a indicação da Master page:

MasterPageFile="~/MasterPage.master"

A tag deverá ficar assim:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

Se visualizar a página em Design view, deverá ver desta forma:

Caso pretenda adicionar nova página com o template criado (Master page), basta clicar com o botão direito do mouse no arquivo MasterPage.master (Solution Explorer) e selecionar Add Content Page. Será criada uma página com a Master Page agregada.

Agora falta apenas o conteúdo, que difere de página para página e que deverá ser inserido no ContentPlaceHolder.

Podemos também inserir novos Content Place Holder em diferentes locais da página. Para isso vamos ao painel de ferramentas (Standart) e arrastamos um ContentPlaceHolder para o local desejado.

Abraços!

TechCaffe