Razor com ASP.NET MVC 3 |
Razor é uma View Engine criada pela equipe do ASP.NET para codificação da View de páginas ASP.NET. O próprio ASP.NET possui uma View Engine padrão, mas o Razor se mostra bastante eficiente. Existem outras View Engines, como NHaml ou Spark.
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) } |
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> <div id=”header”> <div id=”main”> |
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.
Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.