ASP.NET MVC

Alexandre Tarifa
Alexandre Tarifa

•   Bacharel em Ciência da Computação – UMESP
•   Pós graduado em Ciência da Computação – UFSCAR


•   L...
ASP.NET MVC é gratuito e permite que os
desenvolvedores facilmente e com simplicidade
contrua aplicações web seguindo o pa...
Demo: Web Forms
Origem
1978 por Trygve Reenskaug, durante uma
visita científica ao grupo Smalltalk. Nome
inicial Thing Model View Editor.
...
Arquitetura
M   Modelos (Models) – que contém
    toda a lógica da aplicação que
    não faz parte de uma Visão


V
    (View). Isso q...
Demo: criação de projeto no Visual Studio 2010
Rotas
Rotas

Mapeamentos de requisições feitas
pelo browser para um controlador e
uma ação específica.
Mapeamento é realizado no...
Formato da Nome da rotapelo usuário
Valores padrão caso não seja informado
            url acessada
Nome do controller
 Nome da action
   Parâmetro
Demo: rota padrão, customização de rotas e restrições
Modelos (Models)
Models

Podemos dizer que, basicamente, toda
a lógica que não for de views e de
controllers será feita nos Modelos. Nos
Mo...
Controlador (Controller)
Controller

São responsáveis por responder as
requisições realizadas. Cada requisição
feita pelo navegador é mapeada para
...
Controller

Exemplo:


http://localhost/Produto/Index/3



           Controller - ProdutoController
Actions

Action é o método que o controller
executa a chamada quando a url
solicita.
A action do controller deve ser um
mé...
Actions

Exemplo:


http://localhost/Produto/Index/3



               Action – Index()
Action Result

Todas actions de controller retornam
um resultado.
O ASP.NET MVC suporta diversos tipos
de retornos.
Action Result

ViewResult – HTML e marcações
EmptyResult – Resultado vazio
RedirectResult – Redirect para uma
nova url
Jso...
Observe que o método retorna um
ViewResult (). Em vez disso, o método
View () da classe base é chamado.
Normalmente, você ...
Action Result

View – ViewResult
Redirect – RedirectResult
RedirectToAction –
RedirectToRouteResult
RedirectToRoute –
Redi...
Caso o controller action retorne um
resultado que não for um action
result , então o resultado será um
ContentResult autom...
Action desconhecida

Se um controle não consegue encontrar uma
ação que está sendo requisitada, ele
executa o método Handl...
Views
Views

Ao contrário do ASP.NET Web Forms,
no MVC não existe uma página ou
arquivo que corresponda a uma
página. No ASP.NET...
Views

Uma view contém um documento
(x)HTML e pode conter scripts para
adicionar conteúdos dinâmicos.
Uma característica f...
<% Response.Write(DateTime.Now);
%>

Os delimitadores de script <% e %>
marcam o início e fim de um script,
neste caso em ...
Views

As Views no ASP.NET MVC ficam na
pasta Views. Esta pasta, por sua vez,
possui uma pasta para cada
controlador, para...
Demo: View fortemente tipada
ViewData

ViewData é um dicionário que possui
como chave somente strings. Você
pode passar para a ViewData qualquer
tipo d...
HTML Helpers

HTML Helpers podem tornar a tarefa
de fazer views mais fácil. Eles
simplesmente renderizam algum
código HTML...
HTML Helpers

O ASP.NET MVC framework inclui os
seguintes (principais) HTML Helpers:
Html.ActionLink()
Html.BeginForm()
Ht...
HTML Enconde

Toda vez que vamos mostrar em
alguma view o conteúdo de algum
campo que permitimos que o usuário
informe liv...
Demo: HTML Helper
Demo: Carros
Tópicos rápidos

Output cache
Master Page
Theme
Segurança
Referências

Site: asp.net/mvc
Apostila: Treinando .net – Curso
ASP.NET MVC
Site: www.danielfonsecacastro.com.br
– demos d...
Obrigado

contato@alexandretarifa.com.br
ApresentaçãO Mvc
ApresentaçãO Mvc
ApresentaçãO Mvc
ApresentaçãO Mvc
ApresentaçãO Mvc
Upcoming SlideShare
Loading in …5
×

ApresentaçãO Mvc

796 views
715 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
796
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ApresentaçãO Mvc

  1. 1. ASP.NET MVC Alexandre Tarifa
  2. 2. Alexandre Tarifa • Bacharel em Ciência da Computação – UMESP • Pós graduado em Ciência da Computação – UFSCAR • Líder e um dos criadores da comunidade Codificando .Net (www.codificando.net) • Autor de 3 livros (VB.NET Express – Best Seller, C# Express – Best Seller e VSTS Rocks) • MVP – Microsoft Most Valuable Professional – Visual Developer – Visual Basic/Visual Basic .Net
  3. 3. ASP.NET MVC é gratuito e permite que os desenvolvedores facilmente e com simplicidade contrua aplicações web seguindo o padrão Model-View-Controller. Permite o total controle sobre o HTML e URLs, permite integração com AJAX e facilita a implementação de teste driven development.
  4. 4. Demo: Web Forms
  5. 5. Origem 1978 por Trygve Reenskaug, durante uma visita científica ao grupo Smalltalk. Nome inicial Thing Model View Editor. Diversas tecnologias, como o CakePHP, Ruby On Rails, Django, Tapestry (java), etc.. O projeto MonoRail (www.castleproject.org) foi o primeiro framework open source (de código aberto) para ASP.NET. Scott Guthrie, co-fundador do ASP.NET MVC Framework, participou da primeira conferência Alt.Net em outubro de 2007, onde falou sobre o framework. A apresentação feita por ele causou tanta euforia que o framework tornou-se um produto oficial da Microsoft.
  6. 6. Arquitetura
  7. 7. M Modelos (Models) – que contém toda a lógica da aplicação que não faz parte de uma Visão V (View). Isso quer dizer que todas as regras de negócios, validações e acesso a dados estão contidas no Modelo; C Visões (Views) – é a camada de apresentação, a interface que
  8. 8. Demo: criação de projeto no Visual Studio 2010
  9. 9. Rotas
  10. 10. Rotas Mapeamentos de requisições feitas pelo browser para um controlador e uma ação específica. Mapeamento é realizado no arquivo global.asax (controla o ciclo da aplicação).
  11. 11. Formato da Nome da rotapelo usuário Valores padrão caso não seja informado url acessada
  12. 12. Nome do controller Nome da action Parâmetro
  13. 13. Demo: rota padrão, customização de rotas e restrições
  14. 14. Modelos (Models)
  15. 15. Models Podemos dizer que, basicamente, toda a lógica que não for de views e de controllers será feita nos Modelos. Nos Models podemos fazer validação, regra de acesso a dados e regra de negócios.
  16. 16. Controlador (Controller)
  17. 17. Controller São responsáveis por responder as requisições realizadas. Cada requisição feita pelo navegador é mapeada para um controller próprio.
  18. 18. Controller Exemplo: http://localhost/Produto/Index/3 Controller - ProdutoController
  19. 19. Actions Action é o método que o controller executa a chamada quando a url solicita. A action do controller deve ser um método público. O método também nunca devera ser sobrescrevido e não pode ser um método estático.
  20. 20. Actions Exemplo: http://localhost/Produto/Index/3 Action – Index()
  21. 21. Action Result Todas actions de controller retornam um resultado. O ASP.NET MVC suporta diversos tipos de retornos.
  22. 22. Action Result ViewResult – HTML e marcações EmptyResult – Resultado vazio RedirectResult – Redirect para uma nova url JsonResult – Representa um resultado JavaScript Object Notation que pode ser usado em uma aplicação AJAX JavaScriptResult –JavaScript ContentResult – Texto
  23. 23. Observe que o método retorna um ViewResult (). Em vez disso, o método View () da classe base é chamado. Normalmente, você não retornar um resultado de ação diretamente, você chama um dos seguintes métodos da
  24. 24. Action Result View – ViewResult Redirect – RedirectResult RedirectToAction – RedirectToRouteResult RedirectToRoute – RedirectToRouteResult Json – JsonResult JavaScriptResult –JavaScriptResult
  25. 25. Caso o controller action retorne um resultado que não for um action result , então o resultado será um ContentResult automaticamente.
  26. 26. Action desconhecida Se um controle não consegue encontrar uma ação que está sendo requisitada, ele executa o método HandleUnknownAction(). Por padrão o erro mostrado é uma página de HTTP 404, mas nós podemos mudar utilizando o código mostrado abaixo:
  27. 27. Views
  28. 28. Views Ao contrário do ASP.NET Web Forms, no MVC não existe uma página ou arquivo que corresponda a uma página. No ASP.NET MVC o mais parecido com uma página que temos são as views. Todas as requisições são feitas para os controllers e ações, que retornam as views quando solicitado.
  29. 29. Views Uma view contém um documento (x)HTML e pode conter scripts para adicionar conteúdos dinâmicos. Uma característica forte do ASP.NET MVC é que o ASP.NET não adiciona nenhum código HTML não solicitado.
  30. 30. <% Response.Write(DateTime.Now); %> Os delimitadores de script <% e %> marcam o início e fim de um script, neste caso em C#. Exibe a data e hora atual e através do Response.Write()
  31. 31. Views As Views no ASP.NET MVC ficam na pasta Views. Esta pasta, por sua vez, possui uma pasta para cada controlador, para armazenar as views de cada um deles. Se tivermos dois controladores em nossa aplicação, HomeController e ClientesController, nós teremos uma pasta em ViewsHome que irá armazenar as views do respectivo controlador, e uma pasta Clientes que armazenará as
  32. 32. Demo: View fortemente tipada
  33. 33. ViewData ViewData é um dicionário que possui como chave somente strings. Você pode passar para a ViewData qualquer tipo de objeto. Um controller passa informações para as views usando ViewData. O código abaixo mostra um exemplo de como um controlador pode passar uma lista de clientes para uma view através deste dicionário:
  34. 34. HTML Helpers HTML Helpers podem tornar a tarefa de fazer views mais fácil. Eles simplesmente renderizam algum código HTML que pode ser usado em todas as suas views simplesmente chamando Html.NomeDoHelper. Alguns Helpers já estão incluídos no ASP.NET MVC Framework, e outros podem ser customizados de acordo com as nossas necessidades.
  35. 35. HTML Helpers O ASP.NET MVC framework inclui os seguintes (principais) HTML Helpers: Html.ActionLink() Html.BeginForm() Html.CheckBox() Html.DropDownList() Html.EndForm() Html.Hidden()
  36. 36. HTML Enconde Toda vez que vamos mostrar em alguma view o conteúdo de algum campo que permitimos que o usuário informe livremente, devemos usar Html.Encode() para que os caracteres sejam codificados. Se o usuário informar no nome, por exemplo, <script>alert(‘HAAA’)</script> e nós usarmos o Html.Encode(), o que será mostrado será o que o usuário realmente escreveu ao invés de
  37. 37. Demo: HTML Helper
  38. 38. Demo: Carros
  39. 39. Tópicos rápidos Output cache Master Page Theme Segurança
  40. 40. Referências Site: asp.net/mvc Apostila: Treinando .net – Curso ASP.NET MVC Site: www.danielfonsecacastro.com.br – demos de AJAX
  41. 41. Obrigado contato@alexandretarifa.com.br

×