os comandos poderão ser digitados. Você poderá fazer praticamente qualquer ope-29
3.4. Criando o layout da aplicação
Casa do Código
ração com NuGet via linha de comandos. A linguagem aceita pelo NuGet para
os inputs de comandos é o PowerShell. Você pode encontrar um guia de referência completo sobre os comandos aceitos pelo NuGet via PowerShell seguindo o link:
http://bit.ly/referenciapowershell
Para saber mais sobre o PowerShell, você deve pode utilizar:
http://bit.ly/guiapowershell
3.4
Criando o layout da aplicação
Nosso projeto já se encontra criado e suas respectivas bibliotecas iniciais (indispensáveis para iniciar a construção de nossa aplicação) já estão referenciadas. Estamos aptos, portanto, a avançar em nosso projeto. Iniciaremos pela parte visual pois através dela tiraremos lições preciosas acerca do framework ASP.NET MVC.
Os itens anteriores deste capítulo apresentaram a criação do projeto e o modelo de referenciamento via NuGet. Como próxima etapa, precisamos testar se a referência está funcionando de forma adequada. Para isso, vamos criar um layout inicialmente de teste e claro, na sequência, iremos incrementá-lo. Assim, além de validar-mos o funcionamento das bibliotecas, definimos também a estrutura básica de toda a aplicação.
Muito embora tenhamos no futuro um capítulo dedicado especificamente para
tratar do assunto views, construiremos agora algumas delas, que servirão de base para nosso aplicativo. É importante notar que o objetivo não é apresentar detalhes sobre views, mas sim, sobre o processo de estruturação de um layout utilizando ASP.NET MVC.
Também utilizaremos algumas funções do ASP.NET Razor, que é o motor de
renderização das páginas criadas com o ASP.NET MVC. Mas não se preocupe com
isso neste momento. No capítulo 9 você será guiado também pelos detalhes acerca do Razor.
Um dos muitos conceitos interessantes introduzidos pelo ASP.NET foi o de Mas-
ter Pages (páginas mestras). Através das famosas master pages, conseguimos reapro-veitar muito do layout que é comum ao site. Por exemplo, não precisamos construir o menu em cada página do site. Ao invés disso, podemos colocar o menu em uma
:master page e dizer ao ASP.NET que todas as páginas que herdam os estilos de determinada página mestra devem exibir o mesmo menu. De igual forma, esta técnica poderia ser utilizada para estruturar quaisquer conteúdos de propósitos gerais, permitindo assim a manutenção do foco no conteúdo específico da página corrente.
30
Casa do Código
Capítulo 3. Projetando a aplicação Cadê meu médico?
O modelo de trabalho com master pages oferecido pelo ASP.NET MVC é ligeira-
mente diferente daquele proporcionado pelos web forms. Você pode encontrar um
bom texto de referência acerca da utilização de master pages com web forms seguindo o link apresentado pela referência [5].
Muito embora as abordagens sejam diferentes, o conceito é rigorosamente o
mesmo e iremos utilizá-lo amplamente em nosso projeto. Assim, na Solution Ex-
plorer, clique com o botão direito do mouse na pasta Views e navegue pelas opções Add > View. A figura 3.9 ilustra este processo.
Figura 3.9: Criando uma nova View
Na sequência, uma janela onde iremos informar mais detalhes acerca de nossa
View será apresentada. Informe o nome Layout, e desmarque a opção Use a layout or master page. Essa opção é justamente a que vamos marcar na criação de alguma View que irá utilizar nossa Master Page. Feito isso, clique no botão Ok. A figura 3.10
mostra essa etapa.
31
3.4. Criando o layout da aplicação
Casa do Código
Figura 3.10: Criando uma nova View
Após a criação do arquivo, o Visual Studio vai abrir a nossa View para edição.
Você deverá ver um código parecido com o código da listagem 1.
Listagem 3.1 - Código inicial da master page:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Layout2</title>
</head>
<body>
<div>
32
Casa do Código
Capítulo 3. Projetando a aplicação Cadê meu médico?
</div>
</body>
</html>
Antes de modificar o HTML gerado pelo Visual Studio para a master page, é
preciso notar um aspecto importante. Note que, no início do código, à propriedade
Layout é atribuído o valor null. Pois é justamente esta a propriedade que recebe a indicação do layout padrão, ou seja, a master page da qual a página herdará.
Precisamos concordar, neste ponto, que executar tal atribuição em todas as pá-
ginas de uma aplicação não é lá muito produtivo. Imagine um projeto grande, com muitas views. Esta prática tornaria onerosas demais tanto a implementação quanto a manutenção dos arquivos de layout do projeto no caso de uma possível troca de master page. Além disso, salta à vista a ausência do conceito de reutilização de có-
digo.
O que faremos agora é criar uma nova view que será responsável por definir essa propriedade em todas as views da nossa aplicação. Para isso, novamente vá até a Solution Explorer, clique com o botão direito do mouse na pasta Views e navegue pelas opções Add > View. A figura 3.11 ilustra este processo.