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.
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;
}
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
*@
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