O Razor é uma sintaxe de programação ASP.NET usado para criar páginas web dinâmicas com C# e algumas das linguagens de programação .NET. O Razor nada mais é do que um mecanismo de exibição de sintaxe simples que foi lançado como parte da ASP.NET MVC 3 e do conjunto de ferramentas Microsoft WebMatrix e é o padrão para Views no MVC 5. A sintaxe do Razor é uma sintaxe de marcação de modelo, com base na linguagem de programação C#, permite que o programador use o fluxo de trabalho de construção do HTML.
Em vez de usar a sintaxe de marcação ASP.NET .ASPX com os símbolos <% =%> para indicar blocos de código, a sintaxe do Razor começa blocos de código com um caractere @ e não requer fechamento explícito do bloco de código. A idéia por trás do Razor é fornecer uma sintaxe otimizada para a geração de HTML usando uma abordagem de modelagem com foco no código, com a transição mínima entre o código e o HTML. Páginas da Web que contenham conteúdo Razor tem uma extensão de arquivo especial (.cshtml ou .vbhtml). O servidor reconhece essas extensões, executa o código que está marcado com a sintaxe Razor, e, em seguida, envia a página resultante para o navegador.
Usando a Sintaxe do Razor
1 – Crie uma aplicação ASP.NET MVC utilizando o template padrão, caso você esteja utilizando uma versão do MVC menor ou igual a 4, você precisa escolher o Engine Razor na criação da solução. Abra a View About do projeto e a modifique de acordo com o código abaixo.
Se você não esta seguindo os exemplos anteriores MVC ignore certas partes do código abaixo:
2 – Rode sua aplicação para obter os seguintes resultados:
Exemplo:
Neste exemplo exibimos algumas das sintaxes do motor de Views chamado Razor.
C#
View
@{ //********************************************************* //********************************************************* //*** *** //*** Caso não esteja utilizando os exemplos anteriores *** //*** IGNORE as partes refententes ao Modelo nesta View *** //*** *** //********************************************************* //********************************************************* } @model MeuMVC.Models.DevAbertoModel @{ ViewBag.Title = "Sobre"; } <h1>Rota: @ViewBag.rota</h1> <h2>@Model.Nome</h2> <h3>@Model.Apresenta</h3> <p>@Model.Mensagem</p> <h2>Razor Views - C#</h2> @{ // *** Use @ {} pra utilizar a sintaxe do razor // *** // *** Razor possui uma sintaxe que permite usar código C# inline em uma página // Usando variáveis no Razor var texto = "Bem-vindo ao Razor"; var data = DateTime.Now; var numero = 12345; var caminho = @"C:\DesenvolvimentoAberto\"; } <p> @texto </p> <p> Data: @data </p> <p> Numero @numero</p> <p> Caminho: @caminho</p> <h2></h2> <table border="1"> <tr> <td>Solicitação da URL</td> <td>Caminho Relativo</td> <td>Caminho Completo</td> <td>Tipo de solicitação HTTP</td> </tr> <tr> <td>@Request.Url</td> <td>@Request.FilePath</td> <td>@Request.MapPath(Request.FilePath)</td> <td>@Request.RequestType</td> </tr> </table>