SlideShare uma empresa Scribd logo
1 de 25
ASP.NET MVC 4 – Parte II
 View
 Overview
 ViewData
 ViewBag
 Razor
 Overview
 Html Helpers
 Link Helpers
 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.
 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.
 View
Ex:
public ActionResult Index() {
return
View("~/Views/Example/Index.
cshtml");
}
 Controller - > View
 ActionResult – Listas, Tipos
Primitivos, JSON etc.
 ViewData
 ViewBag
 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;
 ViewData – Controller
Ex:
public class HomeController:
Controller
{
var aluno = new Aluno {
Nome = “Aluno1”
};
ViewData[“Aluno”] = aluno;
}
 ViewData – View
 Requer typecasting quando
associada a tipos complexos.
@model Projeto.Models.Aluno
@
{
var viewDataVariavel = ViewData[“Aluno”]
as Aluno;
}
 ViewBag
 Passa informações do
Controller para a View
baseada na propriedade
dinâmica do C# 4.0
 Não requer typecasting.
 ViewBag
Ex:
public class HomeController:
Controller
{
var aluno = new Aluno {
Nome = “Aluno1”
};
ViewBag.Aluno = aluno;
}
 ViewBag
Ex:
@model Projeto.Models.Aluno
@
{
var viewDataVariavel =
ViewBag.Aluno;
}
 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.
 Razor
 @ - chave transição.
Utilizada na transição de
Html para o código
Ex:
<h1> Listando @item.length
items </h1>
 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>
 Razor
 Suporta blocos de código.
Ex:
@foreach(var item in items)
{
<li> Nome: @item</li>
}
@{
string teste = “Teste”;
ViewBag.Title = “Mais Teste”;
}
 Razor
 Suporta comentários
Ex:
@*
Comentário tanto linha como
multilinha
*@
 Razor
 Combina código com html.
Ex:
<li>
@Html.LabelFor(m =>
m.UserName)
@Html.TextBoxFor(m =>
m.UserName)
</li>
 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>
 Razor
 Suporta o conceito de
Sections, que prover
region de conteúdo
com Layout.
 Razor
@section Header {
<div class="view">
@foreach (string str in new [] {"Home",
"List", "Edit"})
{
@Html.ActionLink(str, str, null, new {
style = "margin: 5px" })
}
</div>
}
 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.
 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.
 Html Helpers
 Extremamente mais leves
que os WebForms Controls
 Intellisense
Ex: @Html.Label,
@Html.TextBox ,
@Html.TextArea.
 Links Helpers
 Helpers voltados para
trabalhar com links.
Ex: @Html.ActionLink,
@Html.RouteLink

Mais conteúdo relacionado

Semelhante a ASP.NET MVC 4 - Parte II - Views

Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webMario Andrade
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCZarathon Maia
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Apostila Css ( Apostilando.com )
Apostila Css ( Apostilando.com )Apostila Css ( Apostilando.com )
Apostila Css ( Apostilando.com )Rodrigo Dias
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoGuilhermePetrosky
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Maurício Linhares
 

Semelhante a ASP.NET MVC 4 - Parte II - Views (20)

ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações web
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVC
 
Web services
Web servicesWeb services
Web services
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
J query
J queryJ query
J query
 
Apoio1020 apostila html
Apoio1020 apostila htmlApoio1020 apostila html
Apoio1020 apostila html
 
Css Curso completo
Css Curso completoCss Curso completo
Css Curso completo
 
Apostila Css ( Apostilando.com )
Apostila Css ( Apostilando.com )Apostila Css ( Apostilando.com )
Apostila Css ( Apostilando.com )
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
Php Básico - Parte 2
Php Básico - Parte 2Php Básico - Parte 2
Php Básico - Parte 2
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
 

ASP.NET MVC 4 - Parte II - Views

  • 1. ASP.NET MVC 4 – Parte II
  • 2.  View  Overview  ViewData  ViewBag  Razor  Overview  Html Helpers  Link Helpers
  • 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.  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.  View Ex: public ActionResult Index() { return View("~/Views/Example/Index. cshtml"); }
  • 6.  Controller - > View  ActionResult – Listas, Tipos Primitivos, JSON etc.  ViewData  ViewBag
  • 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.  ViewData – Controller Ex: public class HomeController: Controller { var aluno = new Aluno { Nome = “Aluno1” }; ViewData[“Aluno”] = aluno; }
  • 9.  ViewData – View  Requer typecasting quando associada a tipos complexos. @model Projeto.Models.Aluno @ { var viewDataVariavel = ViewData[“Aluno”] as Aluno; }
  • 10.  ViewBag  Passa informações do Controller para a View baseada na propriedade dinâmica do C# 4.0  Não requer typecasting.
  • 11.  ViewBag Ex: public class HomeController: Controller { var aluno = new Aluno { Nome = “Aluno1” }; ViewBag.Aluno = aluno; }
  • 12.  ViewBag Ex: @model Projeto.Models.Aluno @ { var viewDataVariavel = ViewBag.Aluno; }
  • 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.  Razor  @ - chave transição. Utilizada na transição de Html para o código Ex: <h1> Listando @item.length items </h1>
  • 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.  Razor  Suporta blocos de código. Ex: @foreach(var item in items) { <li> Nome: @item</li> } @{ string teste = “Teste”; ViewBag.Title = “Mais Teste”; }
  • 17.  Razor  Suporta comentários Ex: @* Comentário tanto linha como multilinha *@
  • 18.  Razor  Combina código com html. Ex: <li> @Html.LabelFor(m => m.UserName) @Html.TextBoxFor(m => m.UserName) </li>
  • 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.  Razor  Suporta o conceito de Sections, que prover region de conteúdo com Layout.
  • 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.  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.  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.  Html Helpers  Extremamente mais leves que os WebForms Controls  Intellisense Ex: @Html.Label, @Html.TextBox , @Html.TextArea.
  • 25.  Links Helpers  Helpers voltados para trabalhar com links. Ex: @Html.ActionLink, @Html.RouteLink