Prazer em desenvolver software
Após configurado o template da sua aplicação web MVC, clique em OK. O Visual Studio 2010 irá criar o seu projeto, com a seguinte estrutura:
O Visual Studio, cria a seguinte estrutura de pastas:
Feito este passo, a IDE do Visual Studio irá nos apresentar uma janela, onde iremos informar o nome do nosso controlador e configurar se precisaremos ou não de que a IDE crie os métodos de CRUD (Create, Retrieve, Update e Delete), e iremos deixar esta opção desmarcada. O nome do nosso controlador será Home, seguido do noem Controller, pois todo controlador MVC precisa que o nome Controller esteja junto do nome do nosso controlador, isso é um padrão de funcionamento, e não convenção de nomenclatura. A imagem abaixo mostra como você deve configurar a tela em exibição:
O que está selecionado, será trocado por Home, mantendo o nome Controller junto do nome Home, e a opção do checkbox, permanecerá desmarcada. Pronto! o VS2010 já criou o arquivo contendo a classe do seu controlador, como mostrado na imagem abaixo:
Com a nossa classe do controlador criada, vamos agora criar uma view. Mas como assim, criar a view? Pensei que seria criada automaticamente, na criação do controlador! Calma, a view será criada, de forma automatizada sim. Mas, como explicamos, o padrão MVC é separado em 3 partes: Model, View e Controller, essas partes precisam ser construídas separadamente; pois senão teriamos, aqui um modelo WebForm novamente.
Para criarmos uma view, é muito fácil. No editor de código, posicione o mouse por cima do nome do método Index, clique com o botão direito do mouse, e selecione a opção Add View..., como mostrado na imagem abaixo:
Após clicar nesta opção, a IDE do VS2010 irá te apresentar uma tela de configuração da nossa View. No campo View name você irá permanecer com o nome sugerido pela IDE, que é Index. Você, também, deixará desmarcada as 2 opções de checkbox abaixo do campo View name e irá desmarcar a opção Select master page. Pronto! pode clicar em Add, como mostrado na imagem abaixo:
Agora com nossa View e Controller criados, vamos começar a implementar o nosso controlador. O bloco de código abaixo, será adicionado ao método public ActionResult Index()...:
List<ExpandoObject> listaClientesDinamicos = null;
dynamic clienteDinamico = null;
try
{
listaClientesDinamicos = new List<ExpandoObject>();
for (int i = 1; i <= 100; i++)
{
clienteDinamico = new ExpandoObject();
clienteDinamico.Id = i;
clienteDinamico.Nome = "Cliente " + i.ToString();
clienteDinamico.DataCadastro = DateTime.Now.Date;
clienteDinamico.LimiteCompra = i * 1000.00;
listaClientesDinamicos.Add(clienteDinamico);
}
ViewData["clientes"] = listaClientesDinamicos;
}
catch (Exception ex)
{
throw ex;
}
return View();
No código acima, temos a declaração de 2 variáveis: uma do tipo Lista Genérica tipada para ExpandoObject e uma outra do tipo dynamic. A classe ExpandoObject é responsável pela expansão, ou seja, pelo comportamento metamórfico que um objeto dynamic pode assumir. Então, no código, temos uma variável que nomeamos de clienteDinamico, o qual possui 4 atributos. Mas de onde surgiram esses atributos? do comportamento dinâmico da variável. Então, com isso podemos criar vários atributos para uma variável dinâmica, como no exemplo acima. Mas variável dinâmica não só tem esse tipo de utilidade, existem diversos outros tipos, por hora, vamos ficar apenas com esse mesmo.
Então o que falta para concluirmos nossa implementação? Resposta: Programar nossa View para receber os dados vindos no método do nosso respectivo controlador. Segue abaixo os códigos necessários para implementarmos o necessário para nossa view funcionar:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Index</title>
</head>
<body>
<div>
<table>
<%
var listaClientes = (List<System.Dynamic.ExpandoObject>)ViewData["clientes"];
foreach (dynamic cliente in listaClientes)
{
%>
<tr>
<td>
<%: cliente.Id%>
</td>
<td>
<%: cliente.Nome%>
</td>
<td>
<%: cliente.DataCadastro%>
</td>
<td>
<%: cliente.LimiteCompra%>
</td>
</tr>
<% } %>
</table>
</div>
</body>
</html>
Para os que já programavam em MVC 1, podem estar se perguntando: Mas onde é que foi parar então a tag <%= ? A resposta para isso chama-se: Segurança! Com base no expertise dos engenheiros da Microsoft, observou-se uma falha de segurança na estrutura antiga, observando uma série de vulnerabilidades, possibilitando a execução de Cross Site Scripting ou X-Scripting. Por isso que na versão MVC 2, a tag mudou para <%:.
No HTML acima, temos a declaração de uma variável do tipo variante, assumindo o comportamento de uma lista, advinha do nosso conhecido: ViewData. Variável responsável por compartilhar informações entre o controlador e o a View. Executamos um Foreach, montando um código HTML, Limpo, Claro e Objetivo, para apresentar os nossos 100 clientes dinâmicos. Pronto! Pode executar sua aplicação, e se você seguiu todos os passos, corretamente, verá na tela os 100 clientes dinâmicos exibidos na sua View.
Com a apresentação deste artigo, concluímos que a utilização do MVC, pode parecer um pouco trabalhosa. Mas atente-se para o seguinte: É Apenas uma primeira impressão, tendo em vista que estavamos acostumados a trabalhar com WebForms, apenas arrastando controles asp.net, e deixando nosso código um pouco poluído. Já no MVC, você pode perceber e vivenciar, como é fácil, prático e limpo, construir código HTML com o ASP.NET MVC 2. Desta forma, você terá sempre aplicações fáceis de manter, código HTML facilmente gerenciado, clareza no que está sendo construído, separação de responsabilidades entre apresentação, controlador e modelo (acesso ao banco de dados).
Comentar
© 2019 Criado por Ramon Durães.
Ativado por
Você precisa ser um membro de DevBrasil para adicionar comentários!
Entrar em DevBrasil