asp.net mvc 4 - parte ii - views

25
ASP.NET MVC 4 – Parte II

Upload: carlos-atila-abreu

Post on 24-May-2015

282 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: ASP.NET MVC 4 - Parte II - Views

ASP.NET MVC 4 – Parte II

Page 2: ASP.NET MVC 4 - Parte II - Views

View Overview

ViewData ViewBag

Razor Overview Html Helpers Link Helpers

Page 3: ASP.NET MVC 4 - Parte II - Views

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

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

ViewEx:

public ActionResult Index() {

return

View("~/Views/Example/Index.cshtml");

}

Page 6: ASP.NET MVC 4 - Parte II - Views

Controller - > View

ActionResult – Listas, Tipos Primitivos, JSON etc.

ViewData

ViewBag

Page 7: ASP.NET MVC 4 - Parte II - Views

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

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

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

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

ViewBag

Ex: public class HomeController: Controller{

var aluno = new Aluno {

Nome = “Aluno1”};

ViewBag.Aluno = aluno;}

Page 12: ASP.NET MVC 4 - Parte II - Views

ViewBag

Ex: @model Projeto.Models.Aluno

@{ var viewDataVariavel = ViewBag.Aluno;

}

Page 13: ASP.NET MVC 4 - Parte II - Views

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

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

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

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

Razor Suporta comentários

Ex:@* Comentário tanto linha como multilinha*@

Page 18: ASP.NET MVC 4 - Parte II - Views

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

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

Razor Suporta o conceito de

Sections, que prover region de conteúdo com Layout.

Page 21: ASP.NET MVC 4 - Parte II - Views

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

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

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

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

Links Helpers Helpers voltados para

trabalhar com links.

Ex: @Html.ActionLink, @Html.RouteLink