tutoriais mais recente desenvolvimento web
 

ASP.NET Páginas da Web - Layout de Página


Com páginas da Web é fácil criar um site com um layout consistente.


A aparência consistente

Na internet você vai descobrir muitos sites com uma aparência consistente:

  • Cada página tem o mesmo cabeçalho
  • Cada página tem o mesmo rodapé
  • Cada página tem o mesmo estilo e layout

Com Web Pages isso pode ser feito de forma muito eficiente. Você pode ter blocos reutilizáveis de conteúdo (content blocks) , como cabeçalhos e rodapés, em arquivos separados.

Você também pode definir um layout consistente para todas as suas páginas, usando um modelo de layout (layout file) .


Blocos de conteúdo

Muitos sites têm conteúdo que é exibido em todas as páginas (like headers and footers) .

Com páginas da Web que você pode usar o @ RenderPage() método para importar conteúdo de arquivos separados.

Bloco de conteúdo (from another file) podem ser importados em qualquer lugar em uma página da web, e pode conter texto, marcação e código, assim como qualquer página da web regular.

Usando cabeçalhos e rodapés comuns como um exemplo, isso poupa-lhe um monte de trabalho. Você não tem que escrever o mesmo conteúdo em cada página, e quando você alterar os arquivos de cabeçalho ou rodapé, o conteúdo é atualizado em todas as suas páginas.

Isso é o que parece em código:

Exemplo

<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
Exemplo executar »

Utilizando um layout de página

Na seção anterior, você viu que a inclusão do mesmo conteúdo em várias páginas da web é fácil.

Outra abordagem para criar uma aparência consistente é usar uma página de layout. A página de layout contém a estrutura, mas não o conteúdo, de uma página web. Quando uma página web (content page) está ligada a uma página de layout, ele será exibido de acordo com o layout de página (template) .

A página de layout é como uma página web normal, com exceção de uma chamada para o @ RenderBody() método onde o conteúdo da página será incluído.

Cada página de conteúdo deve começar com uma directiva Layout.

Isso é o que parece em código:

Layout da página:

<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>&copy; 2014 w3ii. All rights reserved.</p>
</body>
</html>

Qualquer página da Web:

@{Layout="Layout.cshtml";}

<h1>Welcome to w3ii</h1>

<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>
Exemplo executar »

DRY - Do not Repeat Yourself

Com as ferramentas de dois ASP.NET, Blocos conteúdo e layout de páginas, você pode dar suas aplicações web uma aparência consistente.

Essas ferramentas também poupar-lhe um monte de trabalho, desde que você não tem que repetir a mesma informação em todas as páginas. Centralizando marcação, estilo e código faz aplicações web muito mais manejável e mais fácil de manter.


Prevenir arquivos de ser pesquisado

Com ASP.NET, arquivos com um nome que começa com um sublinhado não pode ser visualizado a partir da web.

Se você quiser impedir que seus blocos de conteúdo ou arquivos de layout de serem visualizados por seus usuários, renomear os arquivos para:

_header.cshtml

_footer.cshtml

_Layout.cshtml


Ocultando Informações Sensitive

Com ASP.NET, a maneira comum de ocultar informações sensíveis (senhas de banco de dados, senhas de e-mail, etc.) é manter a informação em um arquivo separado chamado "_AppStart" .

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}