IRONSOFTWAREHOME
开发者更新

Razor C#(开发者如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

Razor 是一种服务器端标记语言,用于使用 .NET Core 和 .NET Framework 创建动态网页。 它主要用于与 ASP.NET Core 结合使用。 Razor Pages 是 ASP.NET Core 的一个新方面,提供了一种干净且直接的方式来在应用程序中组织代码,减少代码重复的问题。 Razor 将服务器端(使用 C# 或 VB(Visual Basic))与 HTML 结合以创建网页内容。

本教程将指导您如何使用 C# 在 Visual Studio 中创建一个基本应用程序。 让我们开始吧!

前提条件

在我们深入 Razor 的世界之前,请确保您已安装以下内容:

  1. .NET Core SDK
  2. Visual Studio

这些是必需的,因为它们提供了 Razor 视图引擎和我们将在本教程中使用的项目模板。 此外,它们可以在多个操作系统上运行,这意味着无论您使用 Windows、Linux 或 macOS,您都可以跟随操作。

步骤 1 创建新 Razor Pages 项目

打开 Microsoft Visual Studio 并按照以下步骤操作:

  1. 点击"文件"> "新建"> "项目"。
  2. 在项目模板选择屏幕中,选择"Blazor 服务器应用"。

Razor C#(针对开发者的工作原理)图1

  1. 将您的项目命名为"IronPDFExample",然后点击"创建"。

Razor C#(针对开发者的工作原理)图2

  1. 从下拉菜单中选择".NET 7.0"或更高版本。

Razor C#(针对开发者的工作原理)图3

您现在有了一个新的 Razor Pages 项目。

了解 Razor 语法和文件

Razor文件使用.cshtml文件扩展名,将C#(因此是'cs')与HTML结合。 如果我们使用Visual Basic,文件扩展名将更改为.vbhtml。

在您的解决方案资源管理器中,找到并打开名为"Index.cshtml"的.cshtml扩展文件。 在这里您将看到 HTML 代码和 C# 代码的结合。 这种混合由 Razor 解析器实现。

Razor语法

ASP.NET Core 中的 Razor 语法 是 HTML 和服务器端代码的结合。 服务器代码可以是 C# 或 VB 代码。 Razor代码以@符号表示,并在将HTML发送给客户端之前在服务器上执行。

一个简单 Razor 语法的示例:

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

在此代码示例中,@DateTime.Now是一个Razor代码。 它在服务器上执行,并在发送给客户端之前被替换为当前日期和时间。

Razor 视图

Razor 中的"视图"一词对应于任何旨在向用户展示信息的网页。 Razor 视图引擎负责将 HTML 页面渲染给用户。

@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>

使用 Razor 标记进行动态内容

Razor 标记允许我们在 HTML 标记中插入服务器端代码。我们可以使用各种代码结构,如代码块、内联表达式和 HTML 编码表达式。

内联表达式

内联表达式通过以下代码将结果直接输出到 HTML:

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

这里,@Model.Name是一个内联表达式,输出传递给Razor视图的模型中Name属性的值。

代码块

代码块是在服务器上运行的代码段:

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

在此代码示例中,{ }之间的Razor代码是一个代码块。

控制结构

我们还可以在我们的 Razor Pages 中使用控制结构,如 if 语句和循环:

@{
    var count = 5;
}

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

在上述代码示例中,if语句是服务器端代码的一部分,该代码在服务器上运行,其输出插入到生成的HTML页面中。

Switch 语句

Switch 语句是 C# 编程语言中一种条件控制结构。 它们可以在代码块中使用。

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

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

<p>@message</p>

Razor 中的 Hello World

任何编程语言中最简单的程序之一是"Hello World"。 在 Razor 中,您可以通过内联表达式显示"Hello World",如下例所示:

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

Razor 中的循环

Razor语法允许您编写循环,例如foreach语句。 假设您有一个名称列表,想在您的网页上显示。 您可以通过Razor语法中的foreach语句实现这一点。

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

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

此foreach语句循环遍历列表中的每个名称并将其输出到网页。

了解标签帮助器

ASP.NET MVC 中的标签帮助器使服务器端代码能够在 Razor 文件中创建和渲染 HTML 元素。 它们有点像 HTML 帮助器,但具有更 HTML 风格的语法。 它们将您 Razor 视图中的 HTML 风格元素转换为被发送到客户端浏览器的 HTML 标记。 请参阅以下标签帮助器代码示例:

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

处理用户交互

Razor Pages 使用处理方法来管理用户交互。 例如,为处理表单提交,我们可以在Razor页面的对应Page Model文件中创建一个名为OnPostAsync的方法。

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

    // Perform some operation here

    return RedirectToPage("./Index");
}

Razor 中的注释

Razor 也支持 C# 风格的注释。 请记住,Razor 注释是服务器端的,这意味着它们不会发送到浏览器。 它们看起来像这样:

@* This is a Razor comment *@

这是一条多行注释:

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

Razor 视图和页面可以包含 HTML 注释。 这些注释在发送到浏览器的 HTML 输出中可见。

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

向 Razor 页面传递模型

Razor 允许您将模型从服务器传递到页面。 @model指令用于指定传递的对象类型。 此模型属性可以在 Razor 页面中访问,如下例所示:

@page
@model ExampleModel

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

用 Razor 生成 PDF 文档使用 IronPDF

探索 IronPDF for .NET 是一个流行的库,允许开发人员在 .NET 中从 HTML、图片甚至现有网页生成 PDFs。 这是一个创建报告、发票以及任何需要标准打印格式的文档的绝佳工具。 IronPDF 在 ASP.NET MVC 和 ASP.NET Razor Pages 框架中完美运行。

安装

首先,您需要安装 IronPDF 包。 您可以在 Visual Studio 的 NuGet 包管理器控制台中执行此操作。 执行以下命令:

PM > Install-Package IronPdf

创建简单PDF

现在,让我们在您的 Razor 页面中从 HTML 代码创建一个简单的 PDF。 首先,让我们在 Razor 页面的顶部导入 IronPDF 命名空间。

@using IronPdf;

然后,您可以使用 IronPDF 创建一个 PDF。 假设我们在 Razor 页面上有一个按钮,点击时将创建一个简单的 PDF。

在相应的页面模型文件处理程序中,我们可以添加以下代码:

@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

输出

Razor C#(针对开发者的工作原理)图4

Razor C#(针对开发者的工作原理)图5

结论

您已成功学习了 Razor C# 的基础知识,并了解如何集成 IronPDF 在应用程序中生成 PDF 文件。 您从在 Visual Studio 创建新项目开始,然后学习如何使用 Razor 语法来创建动态网页。 您还探索了如何使用 IronPDF 从 HTML 代码甚至完整的 Razor 视图生成 PDF。

现在,随着您继续构建更高级的应用程序,您可以利用 IronPDF 提供的强大功能。 您可以免费试用 IronPDF,如果您认为它有价值,可以购买适合您需求的许可证。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起