.NET 帮助 Razor C#(开发者如何使用) Jacob Mellor 已更新:2025年6月22日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 Razor 是一种服务器端标记语言,用于使用 .NET Core 和 .NET Framework 创建动态网页。 它主要用于与 ASP.NET Core 结合使用。 Razor Pages 是 ASP.NET Core 的一个新方面,提供了一种干净且直接的方式来在应用程序中组织代码,减少代码重复的问题。 Razor 将服务器端(使用 C# 或 VB(Visual Basic))与 HTML 结合以创建网页内容。 本教程将指导您如何使用 C# 在 Visual Studio 中创建一个基本应用程序。 让我们开始吧! 前提条件 在我们深入 Razor 的世界之前,请确保您已安装以下内容: .NET Core SDK Visual Studio 这些是必需的,因为它们提供了 Razor 视图引擎和我们将在本教程中使用的项目模板。 此外,它们可以在多个操作系统上运行,这意味着无论您使用 Windows、Linux 或 macOS,您都可以跟随操作。 步骤 1 创建新 Razor Pages 项目 打开 Microsoft Visual Studio 并按照以下步骤操作: 点击"文件"> "新建"> "项目"。 在项目模板选择屏幕中,选择"Blazor 服务器应用"。 将您的项目命名为"IronPDFExample",然后点击"创建"。 从下拉菜单中选择".NET 7.0"或更高版本。 您现在有了一个新的 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> <p>The current time is @DateTime.Now</p> $vbLabelText $csharpLabel 在此代码示例中,@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> @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> $vbLabelText $csharpLabel 使用 Razor 标记进行动态内容 Razor 标记允许我们在 HTML 标记中插入服务器端代码。我们可以使用各种代码结构,如代码块、内联表达式和 HTML 编码表达式。 内联表达式 内联表达式通过以下代码将结果直接输出到 HTML: <p>Hello, my name is @Model.Name</p> <p>Hello, my name is @Model.Name</p> $vbLabelText $csharpLabel 在这里,@Model.Name是一个内联表达式,它输出传递给Razor视图的模型中的Name属性值。 代码块 代码块是在服务器上运行的代码段: @{ var name = "IronPDF"; } <p>Hello, my name is @name</p> @{ var name = "IronPDF"; } <p>Hello, my name is @name</p> $vbLabelText $csharpLabel 在此代码示例中,{ }之间的Razor代码是一个代码块。 控制结构 我们还可以在我们的 Razor Pages 中使用控制结构,如 if 语句和循环: @{ var count = 5; } @if (count > 3) { <p>The count is greater than 3.</p> } @{ var count = 5; } @if (count > 3) { <p>The count is greater than 3.</p> } $vbLabelText $csharpLabel 在上述代码示例中,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> @{ var fileFormat = "PDF"; var message = ""; switch (fileFormat) { case "PDF": message = "You selected PDF."; break; default: message = "Invalid selection."; break; } } <p>@message</p> $vbLabelText $csharpLabel Razor 中的 Hello World 任何编程语言中最简单的程序之一是"Hello World"。 在 Razor 中,您可以通过内联表达式显示"Hello World",如下例所示: <p>@("Hello World")</p> <p>@("Hello World")</p> $vbLabelText $csharpLabel Razor 中的循环 Razor语法允许您编写循环,例如foreach语句。 假设您有一个名称列表,想在您的网页上显示。 在Razor语法中,可以使用foreach语句实现这一点。 @{ var names = new List<string> { "John", "Doe", "Smith" }; } @foreach (var name in names) { <p>@name</p> } @{ var names = new List<string> { "John", "Doe", "Smith" }; } @foreach (var name in names) { <p>@name</p> } $vbLabelText $csharpLabel 此foreach语句循环遍历列表中的每个名称并将其输出到网页。 了解标签帮助器 ASP.NET MVC 中的标签帮助器使服务器端代码能够在 Razor 文件中创建和渲染 HTML 元素。 它们有点像 HTML 帮助器,但具有更 HTML 风格的语法。 它们将您 Razor 视图中的 HTML 风格元素转换为被发送到客户端浏览器的 HTML 标记。 请参阅以下标签帮助器代码示例: <a asp-controller="Home" asp-action="Index">Home</a> <a asp-controller="Home" asp-action="Index">Home</a> HTML 处理用户交互 Razor Pages 使用处理方法来管理用户交互。 例如,为了处理表单提交,我们可以在Razor Page的对应页面模型文件中创建一个名为OnPostAsync的方法。 public async Task<IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return Page(); } // Perform some operation here return RedirectToPage("./Index"); } public async Task<IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return Page(); } // Perform some operation here return RedirectToPage("./Index"); } $vbLabelText $csharpLabel Razor 中的注释 Razor 也支持 C# 风格的注释。 请记住,Razor 注释是服务器端的,这意味着它们不会发送到浏览器。 它们看起来像这样: @* This is a Razor comment *@ @* This is a Razor comment *@ $vbLabelText $csharpLabel 这是一条多行注释: @* This is a multi-line Razor comment. It's useful when you have a lot to say. *@ @* This is a multi-line Razor comment. It's useful when you have a lot to say. *@ $vbLabelText $csharpLabel Razor 视图和页面可以包含 HTML 注释。 这些注释在发送到浏览器的 HTML 输出中可见。 HTML 向 Razor 页面传递模型 Razor 允许您将模型从服务器传递到页面。 @model指令用于指定传递对象的类型。 此模型属性可以在 Razor 页面中访问,如下例所示: @page @model ExampleModel <h2>@Model.Title</h2> <p>@Model.Description</p> @page @model ExampleModel <h2>@Model.Title</h2> <p>@Model.Description</p> $vbLabelText $csharpLabel 用 Razor 生成 PDF 文档使用 IronPDF 探索 IronPDF for .NET 是一个流行的库,允许开发人员在 .NET 中从 HTML、图片甚至现有网页生成 PDFs。 这是一个创建报告、发票以及任何需要标准打印格式的文档的绝佳工具。 IronPDF 在 ASP.NET MVC 和 ASP.NET Razor Pages 框架中完美运行。 安装 首先,您需要安装 IronPDF 包。 您可以在 Visual Studio 的 NuGet 包管理器控制台中执行此操作。 执行以下命令: Install-Package IronPdf 创建简单PDF 现在,让我们在您的 Razor 页面中从 HTML 代码创建一个简单的 PDF。 首先,让我们在 Razor 页面的顶部导入 IronPDF 命名空间。 @using IronPdf; @using IronPdf; $vbLabelText $csharpLabel 然后,您可以使用 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); } } 输出 结论 您已成功学习了 Razor C# 的基础知识,并了解如何集成 IronPDF 在应用程序中生成 PDF 文件。 您从在 Visual Studio 创建新项目开始,然后学习如何使用 Razor 语法来创建动态网页。 您还探索了如何使用 IronPDF 从 HTML 代码甚至完整的 Razor 视图生成 PDF。 现在,随着您继续构建更高级的应用程序,您可以利用 IronPDF 提供的强大功能。 您可以免费试用 IronPDF,如果您认为它有价值,可以购买适合您需求的许可证。 常见问题解答 如何使用 Razor 在 C#中从 HTML 生成 PDF? 您可以通过使用 IronPDF 库在 C#中从 HTML 生成 PDF。首先,安装 IronPDF 包,导入 IronPDF 命名空间,然后使用其 API 方法如 RenderHtmlAsPdf 将您的 HTML 内容转换为 PDF 格式。 Razor 语法在 Web 开发中的作用是什么? Razor 语法通过结合 C# 或 VB 和 HTML 来创建动态网页,在 Web 开发中起着关键作用。它允许开发人员编写服务器端代码,这些代码在将 HTML 发送到客户端的浏览器之前执行,这有助于实现无缝集成和功能性。 Razor 页面如何增强 Web 应用程序开发? Razor 页面通过提供结构化和组织化的代码管理方式来增强 Web 应用程序的开发,减少了重复和复杂性。它们通过允许开发人员专注于在基于页面格式中构建功能来简化开发过程。 标签帮助器是什么,它们如何在 Razor 页面中提供帮助? Razor 页面中的标签帮助器通过允许服务器端代码使用类似 HTML 的语法创建和渲染 HTML 元素来提供帮助。这有助于通过在发送到客户端的浏览器之前转换元素来生成干净和易于维护的 HTML 标记。 如何在 Razor 页面中处理用户交互? Razor 页面中的用户交互通过使用处理程序方法如 OnPostAsync 来管理。这些方法处理表单提交和其他用户输入,允许开发人员根据从客户端接收到的数据执行操作。 Razor 中 '@model' 指令的重要性是什么? Razor 中 '@model' 指令的重要性在于它指定传递给 Razor 页面的对象的数据类型。这允许开发人员在页面中直接访问和操作模型的属性,促进数据绑定和交互。 在 Visual Studio 中使用 Razor 和 C#的好处是什么? 在 Visual Studio 中使用 Razor 和 C# 的好处包括将服务器端逻辑与 HTML 集成,通过 Razor 页面简化开发,并能够轻松生成动态网页内容。此外,Visual Studio 提供了支持 Razor 开发的强大工具和模板。 我可以将 Razor 语法用于 C# 和 VB 吗? 是的,Razor 语法可以与 C# 和 VB(Visual Basic)一起使用,以将服务器端逻辑与 HTML 结合。这种灵活性允许开发人员选择他们喜欢的语言,同时受益于 Razor 在 Web 开发中的功能。 Jacob Mellor 立即与工程团队聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。 相关文章 已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多 已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新2025年12月20日 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 Windows 的 Vim(开发者如何使用)C# 等待几秒钟(开发者如...
已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多
已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多