Páginas da Web ASP.NET - Layout de página
Com as Páginas da Web é fácil criar um site com um layout consistente.
Um olhar consistente
Na Internet, você descobrirá muitos sites com uma aparência consistente:
- Cada página tem o mesmo cabeçalho
- Todas as páginas têm o mesmo rodapé
- Cada página tem o mesmo estilo e layout
Com as páginas da Web isso pode ser feito de forma muito eficiente. Você pode ter blocos de conteúdo reutilizáveis (blocos de conteúdo), 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 (arquivo de layout).
Blocos de conteúdo
Muitos sites têm conteúdo que é exibido em todas as páginas (como cabeçalhos e rodapés).
Com as páginas da Web, você pode usar o método @RenderPage() para importar conteúdo de arquivos separados.
O bloco de conteúdo (de outro arquivo) pode ser importado para qualquer lugar em uma página da Web e pode conter texto, marcação e código, assim como qualquer página da Web comum.
Usando cabeçalhos e rodapés comuns como exemplo, isso economiza muito trabalho. Você não precisa escrever o mesmo conteúdo em todas as páginas e, quando altera os arquivos de cabeçalho ou rodapé, o conteúdo é atualizado em todas as suas páginas.
É assim que fica no código:
Exemplo
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
Usando uma página de layout
Na seção anterior, você viu que incluir o mesmo conteúdo em muitas páginas da web é fácil.
Outra abordagem para criar uma aparência consistente é usar uma página de layout. Uma página de layout contém a estrutura, mas não o conteúdo, de uma página da web. Quando uma página da web (página de conteúdo) é vinculada a uma página de layout, ela será exibida de acordo com a página de layout (modelo).
A página de layout é como uma página web normal, exceto por uma chamada ao método @RenderBody() onde a página de conteúdo será incluída.
Cada página de conteúdo deve começar com uma diretiva Layout .
É assim que fica no código:
Página de layout:
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2014 W3Schools. All rights reserved.</p>
</body>
</html>
Qualquer página da Web:
@{Layout="Layout.cshtml";}
<h1>Welcome to W3Schools</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>
SECA - Não se repita
Com duas ferramentas ASP.NET, Blocos de Conteúdo e Páginas de Layout, você pode dar a seus aplicativos da Web uma aparência consistente.
Essas ferramentas também economizam muito trabalho, pois você não precisa repetir as mesmas informações em todas as páginas. A centralização de marcação, estilo e código torna os aplicativos da Web muito mais gerenciáveis e fáceis de manter.
Impedindo a navegação de arquivos
Com o ASP.NET, os arquivos com um nome que começa com um sublinhado não podem ser navegados na web.
Se você quiser impedir que seus blocos de conteúdo ou arquivos de layout sejam visualizados por seus usuários, renomeie os arquivos para:
_header.cshtml
_footer.cshtml
_Layout.cshtml
Ocultar informações confidenciais
Com o ASP.NET, a maneira comum de ocultar informações confidenciais (senhas de banco de dados, senhas de e-mail, etc.) é manter as informações 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]";
}