ASP.NET MVC 4 - Part III - Views (Continuação: Part II)

Preview:

DESCRIPTION

Continuação de Views Asp.net MVC 4. Foco em Razor(Layout, Partial View e View Fortemente Tipada).

Citation preview

ASP.NET MVC 4 – Parte III

View Razor

LayoutPartial ViewViews FortementeTipadas

Layout

View – Razor – Layout

Templates que tem comoobjetivo manter umaparência padrão dentroaplicação.

da

Tem o mesmo propósitodas MasterPages, masoferece simplicidade nasintaxe e flexibilidade.

View – Razor – Layout

Por convenção, utiliza oViewStart.

ViewStart(/Views/_ViewSta rt.cshtml) é executadoantes de qualquer view.

@{Layout ="~/Views/Shared/_Layout.cshtml";}

View – Razor – Layout

ViewStart pode sersobescrito na views.

@{Layout

}= path ;

@{Layout

}= null ;

View – Razor – Layout

Suporta conceitos desections.

Sections: São blocosconteúdo que serãoinseridos em locaisespecíficos da view

de

A view deve prover oconteúdo para as sections.

View – Razor – Layout

Ex: No arquivo de Layout

@RenderSection(“Nome”,required:false);

Na view@ section Nome{

<h1>Conteúdo</h1>}

Partial View

View – Razor – Partial View

São arquivos de views quecontém fragmentos Razor eHtml que podem serincluídas em outras views.

Evita código duplicado

Semelhante ao UserControl(.ascx)

View – Razor – Partial View

Principal benefício:Reutilização

Exs de Utilização: Headers,Footers, Htmls Utilitários.

Podem ser renderizadas via@Html.Partial e@HtmlRenderPartial.

View – Razor – Partial View

@Html.Partial

Retorna uma string

Pode ser armazenadoem uma variável orretornado numa função

Ex: @Html.Partial(“nome”)

View – Razor – Partial View

@Html.PartialView

Retorna void

Resultado escritoresponse stream

no

durante a execução.

Mais rápido que o@Html.Partial

Ex: Html.RenderPartial(“nome”)

View – Razor – Partial View

Pode acessar os dados daView Pai

Quando a partial view é atualizada, somente o ViewData da partial é

atualizado. O ViewDataView “Pai” não seráalterado.

Partial View != Sections(Layout)

da

Views Fortemente Tipadas

View – Razor – ViewFortemente Tipadas

É uma forma de enviardados do Controller paraView.

a

São utilizadas pararenderizar específicos tiposde modelos(!= ViewBag,ViewData, etc).

Intellisense

View – Razor – View Models

Pode fazer referência a ummodel

Ex: @modelNamespace.NomeModel

Também pode referenciaruma collection.

@model IEnumerable<Model>