Conceitos e Exemplo Prático: Master Page

Veja neste artigo os conceitos da MasterPage e faremos um exemplo prático com o uso dela

Olá pessoal, neste artigo veremos os conceitos da MasterPage e faremos um exemplo prático com o uso dela. Acompanhem:

 A Master Page é como o próprio nome diz uma página-mestra. Presente desde a versão 2.0 do .NET Framework, ela é uma página padrão, onde criamos uma identidade visual pra ela, adicionando controles e todo tipo de conteúdo, como numa página aspx comum. A diferença é que podemos usar a herança visual, criada na Master Page, e replicá-la nas páginas que irão utilizar-se dela.

 A grosso modo, seria o esqueleto do seu site, por exemplo, pensando apenas nas partes fixas que não sofrerão muitas alterações ao longo do projeto.

 Nela, posso definir um layout padrão para que seja reaproveitado em todas as páginas de meu projeto. Assim, se eu precisar alterar algo no layout, só altero uma única vez, aumentando assim o desempenho e melhorando a manutenibilidade (manutenção) do projeto como um todo.

 A novidade (não tão nova assim) é que a partir da versão 2008 do Visual Studio podemos encadear Master Pages, criando assim uma dentro da outra.

 Vamos então ao exemplo prático. Crie uma Web Application, dando a ela o nome de ExemploMasterPage e clique em OK.

 Vá à Solution Explorer, clique em Add > New Item, em Categories escolha Web, em Templates clique na Master Page, dê o nome Exemplo.Master e clique em OK.

 Veja abaixo o código aspx gerado após a criação da Master Page e note que ele gera um controle chamado ContentPlaceHolder:

<div>         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">                </asp:ContentPlaceHolder>     </div>

É nesse ContentPlaceHolder que será armazenado o conteúdo dinâmico de nosso projeto. Pensando num website, podemos adicionar um ContentPlaceHolder para o conteúdo de nosso site enquanto as partes que não estiverem dentro desse controle serão fixas (destinado ao cabeçalho e ao rodapé, por exemplo), não temos o retrabalho de alterar cada novo detalhe em cada página do projeto.

Coloque alguns textos fora do ContentPlaceHolder, que como já disse, serão fixas. O aspx de sua Master Page deverá ficar da seguinte forma:

<div>         <h2>             Teste com Master Page 1.0</h2>         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">         </asp:ContentPlaceHolder>         <h4>             2010 - Alguns direitos reservados.</h4>     </div>

 Vá na Solution Explorer, apague a Default.aspx, gerada automaticamente pelo VS, clique em Add > New Item, em Categories escolha Web, em Templates clique no Web Content Form, nomeie para Default.aspx e clique em OK. Irá aparecer a tela pra escolher sua Master Page, selecione a que criamos anteriormente e clique em OK. Vá ao modo Design e perceba a área cinza, que definimos os textos na MasterPage, não é editável:

Portanto na aspx temos dois ContentPlaceHolder, um que é o head, fixo da MasterPage e outro que será o editável. Insira algum conteúdo e aperte F5 para compilar a aplicação:

 Assim podemos concluir que o uso da MasterPage é praticamente obrigatório em projetos que tem muitas páginas e que muito do layout pode se repetir, como sites institucionais, portais de notícias ou até lojas de e-commerce.

 Assim finalizo o artigo. Muito obrigado a todos!

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com

Artigos relacionados