asp.net mvc 4 - parte ii - views
DESCRIPTION
Foca em Views do ASP.NET MVC 4 fornecendo um overview, conceitos sobre: ViewData, ViewBag, Razor, HtmlHelpers e Link HelpersTRANSCRIPT
![Page 1: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/1.jpg)
ASP.NET MVC 4 – Parte II
![Page 2: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/2.jpg)
View Overview
ViewData ViewBag
Razor Overview Html Helpers Link Helpers
![Page 3: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/3.jpg)
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.
![Page 4: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/4.jpg)
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.
![Page 5: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/5.jpg)
ViewEx:
public ActionResult Index() {
return
View("~/Views/Example/Index.cshtml");
}
![Page 6: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/6.jpg)
Controller - > View
ActionResult – Listas, Tipos Primitivos, JSON etc.
ViewData
ViewBag
![Page 7: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/7.jpg)
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;
![Page 8: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/8.jpg)
ViewData – Controller Ex:
public class HomeController: Controller{
var aluno = new Aluno {
Nome = “Aluno1”};
ViewData[“Aluno”] = aluno;}
![Page 9: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/9.jpg)
ViewData – View
Requer typecasting quando associada a tipos complexos.
@model Projeto.Models.Aluno
@{ var viewDataVariavel = ViewData[“Aluno”] as Aluno;
}
![Page 10: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/10.jpg)
ViewBag
Passa informações do Controller para a View baseada na propriedade dinâmica do C# 4.0
Não requer typecasting.
![Page 11: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/11.jpg)
ViewBag
Ex: public class HomeController: Controller{
var aluno = new Aluno {
Nome = “Aluno1”};
ViewBag.Aluno = aluno;}
![Page 12: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/12.jpg)
ViewBag
Ex: @model Projeto.Models.Aluno
@{ var viewDataVariavel = ViewBag.Aluno;
}
![Page 13: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/13.jpg)
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.
![Page 14: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/14.jpg)
Razor @ - chave transição.
Utilizada na transição de Html para o código
Ex: <h1> Listando @item.length items </h1>
![Page 15: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/15.jpg)
Razor Como exibir o endereço de
e-mail. Razor conhece os patterns de e-mail renderiza sem problemas.
Ex: <span>[email protected]</span>
![Page 16: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/16.jpg)
Razor Suporta blocos de código.
Ex:@foreach(var item in items){ <li> Nome: @item</li>}
@{ string teste = “Teste”; ViewBag.Title = “Mais Teste”;}
![Page 17: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/17.jpg)
Razor Suporta comentários
Ex:@* Comentário tanto linha como multilinha*@
![Page 18: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/18.jpg)
Razor Combina código com html.
Ex:<li> @Html.LabelFor(m => m.UserName) @Html.TextBoxFor(m => m.UserName)</li>
![Page 19: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/19.jpg)
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>
![Page 20: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/20.jpg)
Razor Suporta o conceito de
Sections, que prover region de conteúdo com Layout.
![Page 21: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/21.jpg)
Razor@section Header {
<div class="view">
@foreach (string str in new [] {"Home", "List", "Edit"}) {
@Html.ActionLink(str, str, null, new { style = "margin: 5px" })
}
</div>
}
![Page 22: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/22.jpg)
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.
![Page 23: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/23.jpg)
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.
![Page 24: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/24.jpg)
Html Helpers Extremamente mais leves
que os WebForms Controls
Intellisense
Ex: @Html.Label, @Html.TextBox , @Html.TextArea.
![Page 25: ASP.NET MVC 4 - Parte II - Views](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5561e920d8b42a9d068b5113/html5/thumbnails/25.jpg)
Links Helpers Helpers voltados para
trabalhar com links.
Ex: @Html.ActionLink, @Html.RouteLink