ASP.NET Razor - Sintaxe de código em C# e VB
- Página Anterior Introdução ao Razor
- Próxima Página Variável C# do Razor
O Razor suporta simultaneamente C# (C sharp) e VB (Visual Basic).
As principais regras de sintaxe do Razor no C#
- O código Razor está encapsulado em @{ ... }
- As expressões em linha (variáveis e funções) começam com @
- As sentenças de código terminam com ponto e vírgula
- As strings são delimitadas por aspas
- O código C# é sensível a maiúsculas e minúsculas
- O nome de extensão do arquivo C# é .cshtml
Exemplo de C#
<!-- Bloco de código de linha única --> @{ var myMessage = "Hello World"; } <!-- Expressão ou variável em linha --> <p>O valor de myMessage é: @myMessage</p> <!-- Bloco de código de múltiplas linhas --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Aqui em Huston está: " + weekDay; } <p>A saudação é: @greetingMessage</p>
Executar Exemplo
As principais regras de sintaxe do Razor no VB
- Os blocos de código Razor são delimitados por @Code ... End Code
- As expressões em linha (variáveis e funções) começam com @
- As variáveis são declaradas com a palavra-chave Dim
- As strings são delimitadas por aspas
- O VB é insensível a maiúsculas e minúsculas
- O nome de extensão do arquivo VB é .vbhtml
Exemplo
<!-- Bloco de código de linha única --> @Code dim myMessage = "Hello World" End Code <!-- Expressão ou variável em linha --> <p>O valor de myMessage é: @myMessage</p> <!-- Bloco de código de múltiplas linhas --> @Code dim greeting = "Bem-vindo ao nosso site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Aqui em Huston está: " & weekDay Fim do Código <p>A saudação é: @greetingMessage</p>
Executar Exemplo
Como funciona?
A Razor é uma simples sintaxe de programação usada para incorporar código do lado do servidor em páginas da web.
A sintaxe Razor é baseada no framework ASP.NET, que é uma parte do framework .NET da Microsoft especialmente projetada para desenvolvimento de aplicações web.
A sintaxe Razor oferece todas as capacidades do ASP.NET, mas com uma sintaxe simplificada, o que facilita o aprendizado para iniciantes e melhora a produtividade para profissionais.
As páginas Razor podem ser descritas como páginas HTML com dois tipos de conteúdo: conteúdo HTML e código Razor.
Quando o servidor lê essa página, antes de enviar a página HTML para o navegador, ele executa primeiro o código Razor. Esse código executado no servidor pode completar tarefas que não podem ser feitas no navegador, como acessar o banco de dados do servidor. O código do servidor pode criar conteúdo HTML dinâmico antes de enviar a página para o navegador. Do ponto de vista do navegador, o HTML gerado pelo código do servidor não difere do conteúdo HTML estático.
As páginas ASP.NET com sintaxe Razor têm uma extensão de arquivo especial cshtml (usando a sintaxe Razor em C#) ou vbhtml (usando VB).
Trabalhando com objetos
O código do servidor geralmente envolve objetos.
O objeto "Date" é um objeto integrado do ASP.NET, mas também pode ser definido manualmente, como uma página da web, um campo de texto, um arquivo, ou um registro de banco de dados, etc.
Os objetos podem ter métodos que podem ser executados. Registros de banco de dados podem fornecer um método "salvar", um objeto de imagem pode ter um método "rotação", um objeto de e-mail pode fornecer um método "enviar", e assim por diante.
Os objetos também podem ter propriedades que descrevem suas características. Registros de banco de dados podem ter propriedades FirstName e LastName.
O objeto Date do ASP.NET possui a propriedade Now (escrita como Date.Now), que possui a propriedade Day (escrita como Date.Now.Day). O exemplo a seguir mostra como acessar certas propriedades do objeto Date:
Exemplo
<table border="1"> <tr> <th width="100px">Name</th> <td width="100px">Value</td> </tr> <tr> <td>Day</td><td>@DateTime.Now.Day</td> </tr> <tr> <td>Hour</td><td>@DateTime.Now.Hour</td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute</td> </tr> <tr> <td>Second</td><td>@DateTime.Now.Second</td> </tr> </td> </table>
Executar Exemplo
Condições If e Else
Uma característica importante das páginas web dinâmicas é determinar as ações a serem executadas com base em condições.
A maneira mais comum de fazer isso é usar a estrutura de comando if ... else:
Exemplo
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "Boa Tarde";} else {txt = "Bom Dia";} } <html> <body> <p>A mensagem é @txt</p> </body> </html>
Executar Exemplo
Ler Entrada do Usuário
Outra característica importante de uma página web dinâmica é ler a entrada do usuário.
Lido pelo função Request[] e testado pela condição IsPost:
Exemplo
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Total = " + total; } } <html> <body style="background-color: bege; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">Primeiro Número:</label><br> <p><input type="text" name="text1" /></p> <p><label for="text2">Segundo Número:</label><br> <p><input type="text" name="text2" /></p> <p><input type="submit" value=" Adicionar " /></p> </form> <p>@totalMessage</p> </body> </html>
Executar Exemplo
- Página Anterior Introdução ao Razor
- Próxima Página Variável C# do Razor