Upload
carlos-atila-abreu
View
411
Download
3
Embed Size (px)
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 [email protected] 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 [email protected]
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>