ASP.NET MVC 4 - Parte II - Views

543 visualizações

Publicada em

Foca em Views do ASP.NET MVC 4 fornecendo um overview, conceitos sobre: ViewData, ViewBag, Razor, HtmlHelpers e Link Helpers

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
543
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
26
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

ASP.NET MVC 4 - Parte II - Views

  1. 1. ASP.NET MVC 4 – Parte II
  2. 2.  View  Overview  ViewData  ViewBag  Razor  Overview  Html Helpers  Link Helpers
  3. 3.  View  Cartão Visita da Aplicação  Responsável por prover uma interface de usuário para o usuário.  Examina o conteúdo do modelo entregue pelo controller e transforma em HTML.
  4. 4.  View  Não são acessíveis diretamente, sempre renderizadas através de um controller.  Por convenção há uma view para cada action do controller.  Esta convenção pode ser sobescrita, definindo uma nova view de retorno.
  5. 5.  View Ex: public ActionResult Index() { return View("~/Views/Example/Index. cshtml"); }
  6. 6.  Controller - > View  ActionResult – Listas, Tipos Primitivos, JSON etc.  ViewData  ViewBag
  7. 7.  ViewData  Passa informações do Controller para a View através de ViewDataDictionary.  Pode definir e recuperar valores usando a sintaxe de dicionário. Ex: ViewData[“CurrentTime”] = DateTime.Now;
  8. 8.  ViewData – Controller Ex: public class HomeController: Controller { var aluno = new Aluno { Nome = “Aluno1” }; ViewData[“Aluno”] = aluno; }
  9. 9.  ViewData – View  Requer typecasting quando associada a tipos complexos. @model Projeto.Models.Aluno @ { var viewDataVariavel = ViewData[“Aluno”] as Aluno; }
  10. 10.  ViewBag  Passa informações do Controller para a View baseada na propriedade dinâmica do C# 4.0  Não requer typecasting.
  11. 11.  ViewBag Ex: public class HomeController: Controller { var aluno = new Aluno { Nome = “Aluno1” }; ViewBag.Aluno = aluno; }
  12. 12.  ViewBag Ex: @model Projeto.Models.Aluno @ { var viewDataVariavel = ViewBag.Aluno; }
  13. 13.  Razor  View Engine lançado no ASP.NET MVC 3  Atende os apelos mais requisitados a equipe ASP.NET MVC: clareza, leveza e com sintaxe simples.  Prover sintaxe simples e menos verbosa.
  14. 14.  Razor  @ - chave transição. Utilizada na transição de Html para o código Ex: <h1> Listando @item.length items </h1>
  15. 15.  Razor  Como exibir o endereço de e-mail. Razor conhece os patterns de e-mail renderiza sem problemas. Ex: <span>ste@gmail.com</span>
  16. 16.  Razor  Suporta blocos de código. Ex: @foreach(var item in items) { <li> Nome: @item</li> } @{ string teste = “Teste”; ViewBag.Title = “Mais Teste”; }
  17. 17.  Razor  Suporta comentários Ex: @* Comentário tanto linha como multilinha *@
  18. 18.  Razor  Combina código com html. Ex: <li> @Html.LabelFor(m => m.UserName) @Html.TextBoxFor(m => m.UserName) </li>
  19. 19.  Razor @{ var items = new string[] {“um", “dois", "tres"}; } <html> <head><title>Exemplo</title></head> <body> <h1>Listando @items.Length items </h1> <ul> @foreach(var item in items) { <li>The item name is @item.</li> } </ul> </body></html>
  20. 20.  Razor  Suporta o conceito de Sections, que prover region de conteúdo com Layout.
  21. 21.  Razor @section Header { <div class="view"> @foreach (string str in new [] {"Home", "List", "Edit"}) { @Html.ActionLink(str, str, null, new { style = "margin: 5px" }) } </div> }
  22. 22.  Helpers  São métodos que podem ser chamados dentros de bloco de código para facilitar a construção da view.  Html Helpers, Link Helpers , Ajax Helpers, Url Helpers.
  23. 23.  Html Helpers  São métodos que podem ser chmados dentros de códigos de bloco e geram como saíd html.  São equivalentes ao WebForms Controls, mas não possuem eventos associados nem viewstate.
  24. 24.  Html Helpers  Extremamente mais leves que os WebForms Controls  Intellisense Ex: @Html.Label, @Html.TextBox , @Html.TextArea.
  25. 25.  Links Helpers  Helpers voltados para trabalhar com links. Ex: @Html.ActionLink, @Html.RouteLink

×