Razor com ASP.NET MVC 3 |
Onde encontro um exemplo de aplicação com Razor?
O Razor é bastante potente e dá suporte a inúmeras necessidades da View. Veja uma View básica:
@{ string variavel = "Uma variável"; } <b>@variavel</b> |
É possível utilizar estruturas de programação junto a códigos HTML.
@{ string variavel = "Uma variável"; List { "José", "João", "Ana", "Julia" }; } <h1>@variavel<h1> @foreach (string usuario in usuarios) { <i>Nome: <b>@usuario</b></i> } |
O Razor possui algumas estruturas características com benefícios específicos. Alguns exemplos comuns são: @RenderPage, @RenderBody, @RenderSection(), @PageData e @Helper.
A @RenderPage é uma Razor Global Helper que exibe uma View em específico. Tem função semelhante a Html.RenderParcial().
A @RenderBody é outra Razor Global Helper. Ela exibe o conteúdo de uma View. A View _Layout pode ter uma menção ao @RenderBody que é substituída por uma View específica quando utilizada. Isto lembra o Content Place Holder de uma Master Page.
A @RenderSection() é outra Razor Global Helper. Esta estrutura renderiza um bloco de código chamado de seção, que nada tem a ver com a seção do servidor web. Veja um exemplo:
<!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> </head> <body> @section top{<h1>Teste de Seção</h1>} <div id="header"> @RenderSection("top") </div> <div id="main"> @RenderBody() </div> </body> </html> |
A @PageData é outra Razor Global Helper. A @PageData exibe dados. Ela é uma Lista de pares de chave-valor (KeyValuePair<object, dynamic>). Ela é utilizada para ter dados que sejam trabalhados por entre as Views. Os dados da @PageData não são persistidos. Para a persistência destes dados devem-se utilizar as técnicas conhecidas (como Querystring, Form fields, Cookies, Session) ou outras quaisquer.
Nenhum comentário:
Postar um comentário