cap22

Propaganda
ASP.NET Passo a Passo
ASP.NET MVC
Conteúdo do Capítulo
1.
2.
Entender o padrão de projeto MVC
Criar sites utilizando o padrão MVC
ASP.NET Passo a Passo
ASP.NET MVC
Conceitos
ASP.NET MVC é um padrão de projeto que divide a aplicação em três camadas,
modelo, visão e controle
A camada de modelo é responsável por definir e manter as informações tratadas de
aplicação, em geral armazenando essa informação em um banco de dados.
A camada de visão é responsável de apresentação das informações ao usuário.
A camada de controle faz a mediação entre a camada de visão e a camada de modelo
recebendo as solicitações do usuário e encaminhando-as a camada responsável por
atende-las
ASP.NET Passo a Passo
ASP.NET MVC
Criando uma aplicação ASP.NET MVC
1.
Crie uma aplicação ASP.NET MVC4 Web Application de nome
MVC4ORama. Selecione Internet Application e View Engine ASPX
ASP.NET Passo a Passo
ASP.NET MVC
Estrutura da aplicação ASP.NET MVC
1.
2.
3.
4.
A aplicação ASP.NET MVC4 é apresentada
como mostrada na figura ao lado.
Pode-se observar que já são criadas as pastas
para separar as camadas Modelo (pasta
Models), visão (pasta views) e controle (pasta
controllers)
Para iniciar o entendimento da estrutura criada
faremos alterações na aplicação exemplo criada
pelo visual studio
Execute a aplicação para observar o exemplo
ASP.NET Passo a Passo
ASP.NET MVC
Alterando o cabeçalho da aplicação exemplo
1.
2.
3.
4.
5.
A página mestre da aplicação (site1.master) encontra-se na pasta view,
subpasta shared.
Identifique no header pa página mestre o link “Your logo here” e substitua
pela imagem “heroAccent.png” que já se encontra no projeto.
Altere também o texto dos ActionLinks “Home”, “About” e “Contact” por
“Principal”, “Sobre” e “Contato”
Observa-se ainda no cabeçalho a TAG
<%: Html.Partial("_LoginPartial") %>
que carrega a página “_LoginPartial” neste local da página mestre
A página “_LoginPartial” contém os ActionLinks “Register” e ”Log In”.
Altere-os para “Criar Usuário” e “Entrar”
ASP.NET Passo a Passo
ASP.NET MVC
Alterando o cabeçalho da aplicação exemplo
6.
7.
8.
9.
10.
Na página Contents da aplicação encontra-se os arquivos de css e skin.
Localize no CSS a TAG “ul#menu li a” que define o estilo de
apresentação do Menu.
Clique com o botão direito e escolha
a opção Construir Estilo. Formate o
estilo para a cor do fonte para azul.
Altere també a cor de fundo da TAG
“#login a” para cinza.
Seu cabeçalho agora tem a aparência
apresentada abaixo
ASP.NET Passo a Passo
ASP.NET MVC
HomeController – Gerenciador do menu da aplicação
1.
2.
3.
4.
5.
A aplicação exemplo inclui dois controladores que ficam armazenados na
pasta Controllers: o AccountController e o HomeController.
O AccountController gerencia as chamadas relativas a Login e o
HomeController gerencias as chamadas relativas ao menu principal da
aplicação.
O HomeController tem 3 métodos: Index, About e Contact. Cada um dos
métodos tem uma visão associada que está armazenada na pasta
Views\Home e tem o mesmo nome do métodos, ou seja, Index.aspx,
About.aspx e Contact.aspx.
Estes métodos definem o conteúdo da variável ViewBag.Message e
chamam a página de visão associada.
O arquivo RouteConfig.cs tem a configuração das rotas, define a visão
de entrada da aplicação. No caso a entrada padrão da aplicação é
configurada para a página Index.aspx do HomeController
ASP.NET Passo a Passo
ASP.NET MVC
Index.aspx – Página de entrada da aplicação
6.
7.
8.
9.
10.
A página Index.aspx tem 3 contents, o indexTitle, o indexFeatured e o
indexContent.
O indexTitle contem o título da aplicação que é apresentado na janela do
navegador. Altere o conteúdo “Home Page - My ASP.NET MVC
Application” para “Minha aplicação MVC”.
O indexTitle é apresentado logo abaixo do cabeçalho contém o texto
”Home Page” numa TAG H1, e o ViewBag.Message definido pelo
controlador numa TAG H2.
Altere o texto “Home Page” para “Página de ”.
Abra o arquivo do controlador HomeController.cs e altere os
ViewBag.Message dos métodos : Index, About e Contact para “Entrada”,
“Informações” e “Contato”, respectivamente.
ASP.NET Passo a Passo
ASP.NET MVC
Index.aspx – Página de entrada da aplicação
ASP.NET Passo a Passo
ASP.NET MVC
Conectando com o banco de dados utilizando LINQ
1.
2.
3.
Baixe e instale no SQL Server o banco de dados exemplo
ASPNETStepByStep4.
Para conectar em um banco de dados utilizando LINQ To SQL deve-se
criar uma classe de modelo que encapsula o acesso ao banco de dados.
Esta classe é do tipo DBLM (Database Markup Language).
Para criar a classe DBML clique
com o botão direito na pasta
Models, selecione adicionar,
novo item, dados e escolha a
opção LINQ To SQL Classes.
Inclua uma classe de nome
DotNetReferences.dbml.
ASP.NET Passo a Passo
ASP.NET MVC
Conectando com o banco de dados utilizando LINQ
4.
5.
6.
Clique no link de gerenciador de servidores que aparece na área do
Object Relacional Designer para acessar tela de Gerenciador de
Servidores que será utilizada para criar a conexão com o banco de
dados ASPNETStepByStep4.
No gerenciador de servidores clique com o
botão direito em Conexões de Dados e
selecione a opção Adicionar Conexão e em
seguida informe usuário e senha do SQL
Server
Abra a conexão e observe a estrutura do
banco de dados. Há duas tabelas:
DotNetLinks e DotNetReferences
ASP.NET Passo a Passo
ASP.NET MVC
Conectando com o banco de dados utilizando LINQ
7.
8.
Clique e arraste a tabela DotNetReferences da
área do Gerenciador de Servidores para a área do
Object Relacional Designer. O arquivo
DotNetReferences.dbml agora inclui uma
referência para a tabela.
Observe no arquivo DotNetReferences.designer.cs
há declarada as classes DotNetReferences que
está associado a um registro da tabela de mesmo
nome e a classe DotNetReferencesDataContext que está associada a
tabela como um todo. Entretanto em sua declaração há diversas TAG’s
que a associam a tecnologia de acesso ao banco de dados.
ASP.NET Passo a Passo
ASP.NET MVC
Conectando com o banco de dados utilizando LINQ
9.
10.
11.
Para manipular a tabela DotNetReferences é interessante portanto criar
uma nova classe para realizar os acessos à tabela. Nela será
encapsulado o acesso a classe padrão criada pelo visual studio.
Clique com o botão direito na pasta Models e adicione uma nova classe
(Novo Item, Código, Classe) de nome DotNetReferencesManager.cs.
Adicione o código abaixo à classe.
public class DotNetReferencesManager
{
DotNetReferencesDataContext dataContext = new
DotNetReferencesDataContext();
public IQueryable<DotNetReferences> GetAllReferences()
{
return dataContext.DotNetReferences;
}
}
ASP.NET Passo a Passo
ASP.NET MVC
Camada de Modelo
12.
13.
14.
Os procedimentos realizados até agora
implementaram a camada de modelo da tabela
DotNetReferences.
O projeto da aplicação é mostrado na figura ao
lado com a aba Models expandida.
Três classes foram adicionadas:
DotNetReferences,
DotNetReferencesDataContext e
DotNetReferencesMananger
sendo as duas primeiras declaradas
no arquivo DotNetReferences.designer.cs
ASP.NET Passo a Passo
ASP.NET MVC
Camada de Visão
1.
2.
3.
Adicione uma subpasta DotNetReferences à pasta visão da aplicação.
Para tal clique com o botão direito na pasta View e selecione Adicionar,
Nova Pasta. Informe o nome DotNetReferences.
Adicione na pasta DotNetReferences
uma View de nome Index que conterá
a interface para manipulação da tabela
de mesmo nome.
Selecione o View Engine APSX(C#),
a classe de modelo
associada (DotNetReferences),
Scaffold template List e
a página mestre Site.Master.
ASP.NET Passo a Passo
ASP.NET MVC
Camada de Visão
4.
Uma página Index.apsx com o código abaixo é adiciona à aplicação
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>
<p>
<%: Html.ActionLink("Create New", "Create") %>
</p>
<table>
<tr>
<th>
<%: Html.DisplayNameFor(model => model.Title) %>
</th>
<th>
ASP.NET Passo a Passo
ASP.NET MVC
Camada de Controle
1.
2.
3.
Adicione uma classe de controle à aplicação. Para tal clique com o botão
direito na pasta Controllers e selecione Adicionar, Controller e informe o
nome DotNetReferencesController.
Selecione o template MVC Controller with empty read/write actions
A classe é criada com código similar ao trecho apresentado abaixo
public class
DotNetReferencesController
: Controller
{
//
// GET: /DotNetReferences/
public ActionResult Index()
{
return View();
}
ASP.NET Passo a Passo
ASP.NET MVC
Camada de Controle
4.
O método Index do controlador deverá carregar os dados da tabela
associada e em seguida deverá abrir a página Index.aspx. Para tal,
adicione o código abaixo ao método Index da classe de controle.
public class DotNetReferencesController : Controller
{
DotNetReferencesManager dotNetReferencesManager =
new DotNetReferencesManager();
//
// GET: /DotNetReferences/
public ActionResult Index()
{
var dotNetReferences =
dotNetReferencesManager.GetAllReferences().ToList();
return View("Index", dotNetReferences);
}
ASP.NET Passo a Passo
ASP.NET MVC
Modelo, Visão e Controle
1.
2.
3.
Os procedimentos realizados até agora
implementaram as três camadas para acesso à
tabela DotNetReferences.
O projeto da aplicação é mostrado na figura ao
lado com as abas Controllers, Models e
Views expandidas.
Em relação a ultima figura do projeto
observa-se a adição da classe
DotNetReferencesController.cs,
da pasta DotNetReferences dentro de View,
e da página Index.aspx dentro desta última.
ASP.NET Passo a Passo
ASP.NET MVC
Configurando o Menu
1.
2.
3.
Para poder visualizar a página Index.aspx referente à tabela
DotNetReferences criada, deve-se configurar o menu com a chamada a
nova página.
Abra o arquivo Site1.master. Adicione uma entrada para Referências e
associe à rota DotNetReferences.
Execute a aplicação e clique em referências. A página é apresentada.
<ul id="menu">
<li><%: Html.ActionLink("Principal", "Index", "Home") %></li>
<li><%: Html.ActionLink("Referências", "Index", "DotNetReferences") %></li>
<li><%: Html.ActionLink("Sobre", "About", "Home") %></li>
<li><%: Html.ActionLink("Contato", "Contact", "Home") %></li>
</ul>
ASP.NET Passo a Passo
ASP.NET MVC
Página com cadastro de referências .NET
ASP.NET Passo a Passo
ASP.NET MVC
Atividade
Incluir página com cadastro de links .NET
1.
2.
3.
4.
Criar classe de modelo DotNetLinks.dbml utilizando LINQ to
SQL
Criar classe de modelo DotNetLinkManager.cs e implementar
o método GetAllReferences() que carrega todos os links
cadastrados no banco de dados
Criar pasta de visão DotNetLinks
Adicionar na pasta uma View de nome Index que conterá
a interface para manipulação da tabela selecionando View
Engine APSX(C#), a classe de modelo DotNetLinks, Scaffold
Template List e página mestre Site.Master
ASP.NET Passo a Passo
ASP.NET MVC
Atividade
Incluir página com cadastro de links .NET
5.
6.
7.
Adicione uma classe de controle à aplicação de nome
DotNetLinksController, selecionando o template MVC
Controller with empty read/write actions.
Ajuste o método Index do controlador para carregar os
dados da tabela DotNetLinks e em seguida abrir a página
Index.aspx.
Adicionar na página mestre Site1.master um ActionLink com
o texto “Links Úteis” associando-o à página Index da pasta
DotNetLinks.
ASP.NET Passo a Passo
ASP.NET MVC
Atividade
Leiaute da página com cadastro de links .NET
Download