IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Razor C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Razor é uma linguagem de marcação do lado do servidor usada para criar páginas web dinâmicas com o .NET Core e o .NET Framework. É usado principalmente em conjunto com o ASP.NET Core. Razor Pages são um novo recurso do ASP.NET Core que oferece uma maneira limpa e direta de organizar o código em aplicativos, reduzindo o problema de duplicação de código. O Razor combina o uso de C# ou VB (Visual Basic) no lado do servidor com HTML para criar conteúdo web.

Este tutorial irá guiá-lo na criação de uma aplicação básica usando Razor com C# no Visual Studio. Vamos começar!

Pré-requisitos

Antes de mergulharmos no mundo do Razor, certifique-se de ter os seguintes softwares instalados:

  1. SDK do .NET Core
  2. Visual Studio

Esses arquivos são necessários, pois fornecem o mecanismo Razor View e os modelos de projeto que usaremos neste tutorial. Além disso, elas podem funcionar em vários sistemas operacionais, o que significa que você pode acompanhar independentemente de estar usando Windows, Linux ou macOS.

Passo 1: Criando um novo projeto do Razor Pages

Abra o Microsoft Visual Studio e siga estes passos:

  1. Clique em "Arquivo" > "Novo" > "Projeto".
  2. Na tela de seleção do modelo de projeto, escolha "Aplicativo Blazor Server".

Razor C# (Como Funciona para Desenvolvedores) Figura 1

  1. Dê o nome de "IronPDFExample" ao seu projeto e clique em "Criar".

Razor C# (Como Funciona para Desenvolvedores) Figura 2

  1. Selecione ".NET 7.0" ou posterior nas listas suspensas.

Razor C# (Como Funciona para Desenvolvedores) Figura 3

Você agora tem um novo projeto do Razor Pages.

Entendendo a sintaxe e os arquivos do Razor

Os arquivos Razor usam a extensão de arquivo .cshtml, combinando C# (daí o 'cs') com HTML. Se estivéssemos usando Visual Basic, a extensão do arquivo mudaria para .vbhtml.

No seu Solution Explorer, encontre e abra o arquivo com extensão .cshtml chamado 'Index.cshtml'. É aqui que você verá uma combinação de código HTML e código C#. Essa mistura é possível graças ao Razor Parser.

Sintaxe Razor

A sintaxe Razor no ASP.NET Core é uma combinação de HTML e código do lado do servidor. O código do servidor é em C# ou VB. O código Razor é indicado pelo símbolo @ e é executado no servidor antes de o HTML ser enviado para o cliente.

Um exemplo de sintaxe Razor simples:

<p>The current time is @DateTime.Now</p>

Neste exemplo de código, @DateTime.Now é um código Razor. O comando é executado no servidor, sendo a data e hora substituídas pelas atuais antes de ser enviado ao cliente.

Visão da Razor

O termo "visualização" em Razor corresponde a qualquer página da web destinada a apresentar informações ao usuário. O Razor View Engine é responsável por renderizar a página HTML para o usuário.

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

Utilizando Razor Markup para conteúdo dinâmico

O Razor Markup permite inserir código do lado do servidor em nossa marcação HTML. Podemos usar várias construções de código, como blocos de código, expressões embutidas e expressões codificadas em HTML.

Expressão embutida

Uma expressão inline exibe o resultado diretamente no HTML usando o seguinte código:

<p>Hello, my name is @Model.Name</p>

Aqui, @Model.Name é uma expressão inline que exibe o valor da propriedade Name do modelo passado para a visualização Razor.

Bloco de código

Blocos de código são segmentos de código que são executados no servidor:

@{
    var name = "IronPDF";
}
<p>Hello, my name is @name</p>

Neste exemplo de código, o código Razor entre { } é um bloco de código.

Estruturas de Controle

Também podemos usar estruturas de controle, como instruções if e loops, em nossas Razor Pages:

@{
    var count = 5;
}

@if (count > 3)
{
    <p>The count is greater than 3.</p>
}

No exemplo de código acima, a instrução if é parte do código do lado do servidor que roda no servidor, e sua saída é inserida na página HTML resultante.

Declaração Switch

As instruções switch são um tipo de estrutura de controle condicional na linguagem de programação C#. Eles podem ser usados ​​dentro de blocos de código.

@{
    var fileFormat = "PDF";
    var message = "";

    switch (fileFormat) 
    {
        case "PDF":
            message = "You selected PDF.";
            break;
        default:
            message = "Invalid selection.";
            break;
    }
}

<p>@message</p>

Olá Mundo em Razor

Um dos programas mais simples em qualquer linguagem de programação é "Olá, Mundo!". Em Razor, você pode exibir "Olá Mundo" com uma expressão inline simples, como mostrado no exemplo abaixo:

<p>@("Hello World")</p>

Laços em Razor

A sintaxe Razor permite que você escreva loops, como a instrução foreach. Suponha que você tenha uma lista de nomes que deseja exibir em sua página da web. Você pode conseguir isso com a instrução foreach na sintaxe Razor.

@{
    var names = new List<string> { "John", "Doe", "Smith" };
}

@foreach (var name in names)
{
    <p>@name</p>
}

Esta instrução foreach faz um loop sobre cada nome na lista e o exibe na página web.

Entendendo as Tag Helpers

Os Tag Helpers no ASP.NET MVC permitem que o código do lado do servidor crie e renderize elementos HTML em arquivos Razor . São um pouco como auxiliares HTML, mas têm uma sintaxe mais parecida com a do HTML. Eles transformam elementos semelhantes a HTML em suas visualizações Razor na marcação HTML enviada ao navegador do cliente. Considere o seguinte exemplo de código de um auxiliar de tag de âncora:

<a asp-controller="Home" asp-action="Index">Home</a>
HTML

Gerenciando a interação do usuário

As Razor Pages utilizam métodos de tratamento para gerenciar as interações do usuário. Por exemplo, para lidar com o envio de formulário, podemos criar um método chamado OnPostAsync no arquivo Modelo de Página correspondente à nossa Página Razor.

public async Task<IActionResult> OnPostAsync()
{
    if (!ModelState.IsValid)
    {
        return Page();
    }

    // Perform some operation here

    return RedirectToPage("./Index");
}

Comentários em Razor

O Razor também suporta comentários no estilo C#. Lembre-se, os comentários Razor são processados ​​no servidor, ou seja, não são enviados para o navegador. Eles têm esta aparência:

@* This is a Razor comment *@

E este é um comentário com várias linhas:

@*
    This is a multi-line Razor comment.
    It's useful when you have a lot to say.
*@

As visualizações e páginas do Razor podem incluir comentários HTML. Esses comentários ficam visíveis na saída HTML enviada ao navegador.

<!-- This is an HTML comment -->
HTML

Passando modelos para uma página Razor

O Razor permite que você passe modelos do servidor para a página. A diretiva @model é usada para especificar o tipo de objeto que está sendo passado. Essa propriedade do modelo pode ser acessada na página Razor , como mostrado no exemplo abaixo:

@page
@model ExampleModel

<h2>@Model.Title</h2>
<p>@Model.Description</p>

Gerando PDFs com IronPDF no Razor

Descubra o IronPDF for .NET , uma biblioteca popular que permite aos desenvolvedores gerar PDFs a partir de HTML , imagens e até mesmo páginas da web existentes em .NET. É uma excelente ferramenta para criar relatórios, faturas e qualquer outro documento que exija um formato de impressão padrão. O IronPDF funciona perfeitamente dentro dos frameworks ASP.NET MVC e ASP.NET Razor Pages.

Instalação

Primeiro, você precisa instalar o pacote IronPDF . Você pode fazer isso a partir do Console do Gerenciador de Pacotes NuGet no Visual Studio. Execute o seguinte comando:

PM > Install-Package IronPdf

Criando um PDF simples

Agora, vamos criar um PDF simples a partir de código HTML dentro da sua Razor Page. Primeiro, vamos importar o namespace IronPDF no topo da sua página Razor .

@using IronPdf;

Em seguida, você pode usar o IronPDF para criar um PDF. Digamos que temos um botão em nossa página Razor que, ao ser clicado, cria um PDF simples.

No manipulador correspondente em nosso arquivo Page Model, podemos adicionar o seguinte código:

@page "/pdf"
@using IronPdf;
@inject IJSRuntime JS

<PageTitle>Create PDF</PageTitle>

<h1>Create PDF</h1>

<div class="form-outline">
    <button class="btn btn-primary mt-3" @onclick="CreatePDF">Create PDF</button>
</div>

@code {
    private string htmlString { get; set; }

    private async Task CreatePDF()
    {
        var Renderer = new IronPdf.ChromePdfRenderer();
        Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;

        var doc = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

        using var Content = new DotNetStreamReference(stream: doc.Stream);

        await JS.InvokeVoidAsync("SubmitHTML", "ironpdf.pdf", Content);
    }
}
Text

SAÍDA

Razor C# (Como Funciona para Desenvolvedores) Figura 4

Razor C# (Como Funciona para Desenvolvedores) Figura 5

Conclusão

Você aprendeu com sucesso os conceitos básicos de Razor C# e descobriu como integrar o IronPDF para gerar arquivos PDF em seu aplicativo. Você começou criando um novo projeto no Visual Studio e depois aprendeu a usar a sintaxe Razor para criar páginas web dinâmicas. Você também explorou como o IronPDF pode ser usado para gerar PDFs a partir de código HTML e até mesmo criar Views Razor completas.

Agora, à medida que você continua a desenvolver aplicações mais avançadas, pode aproveitar os poderosos recursos oferecidos pelo IronPDF. Você pode experimentar o IronPDF gratuitamente e, se achar útil, pode adquirir uma licença adequada às suas necessidades.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.