在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
Razor 是一种服务器端标记语言,用于使用 .NET Core 和 .NET Framework 创建动态网页。 主要与 ASP.NET Core 配合使用。 Razor Pages 是 ASP.NET Core 的一个新方面,它提供了一种简洁明了的方式来组织应用程序中的代码,减少了代码重复的问题。 Razor 结合了服务器端使用 C# 或 VB(Visual Basic)使用 HTML 创建网页内容。
本教程将指导您在Visual Studio中使用C#和Razor创建一个基本应用程序。 我们开始吧!
在我们深入了解 Razor 世界之前,请确保您已安装以下软件:
.NET Core SDK
2.Visual Studio
这些都是必要的,因为它们提供了 Razor 视图引擎和本教程将使用的项目模板。 此外,它们还可以在多个操作系统上运行,这意味着无论您使用的是 Windows、Linux 还是 macOS,都可以跟读。
打开 Microsoft Visual Studio 并按照以下步骤操作:
点击 "文件">"新建">"项目"。
在项目模板选择界面,选择 "Blazor 服务器应用程序"。
将项目命名为 "IronPDFExample",然后点击 "创建"。
从下拉菜单中选择".NET 7.0 "或更高版本。
您现在有了一个新的 Razor Pages 项目。
Razor 文件使用.cshtml
文件扩展名,将 C#(因此 "cs)使用 HTML。 如果我们使用 Visual Basic,文件扩展名将变为 .vbhtml
。
在解决方案资源管理器中,找到并打开名为"Index.cshtml"的.cshtml
扩展文件。 在这里,您会看到 HTML 代码和 C# 代码的结合。 Razor Parser 使这种混合成为可能。
探索 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>
在本代码示例中,@DateTime.Now
是 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>
Razor Markup 允许我们在 HTML 标记中插入服务器端代码。我们可以使用各种代码结构,如代码块、内联表达式和 HTML 编码表达式。
内联表达式使用以下代码将结果直接输出到 HTML 中:
<p>Hello, my name is @Model.Name</p>
<p>Hello, my name is @Model.Name</p>
这里,"@Model.Name "是一个内联表达式,用于从传递给 Razor 视图的模型中输出 Name 属性的值。
代码块是在服务器上运行的代码段:
@{
var name = "IronPDF";
}
<p>Hello, my name is @name</p>
@{
var name = "IronPDF";
}
<p>Hello, my name is @name</p>
在本代码示例中,Razor 代码在 和
之间。{}是一个代码块。
我们还可以在 Razor 页面中使用 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>
}
在上述代码示例中,"if "语句是在服务器上运行的服务器端代码的一部分,其输出被插入到生成的 HTML 页面中。
开关语句是 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>
任何编程语言中最简单的程序之一就是 "Hello World"。 在 Razor 中,您可以使用简单的内联表达式显示 "Hello World",如下例所示:
<p>@("Hello World")</p>
<p>@("Hello World")</p>
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>
}
这个 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>
Razor 页面使用处理程序方法来管理用户交互。 例如,为了处理表单提交,我们可以在 Razor 页面的相应页面模型文件中创建一个名为 "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");
}
Razor 还支持 C# 风格注释。 请记住,Razor 注释是服务器端的,这意味着它们不会发送到浏览器。 它们看起来像这样
@* This is a Razor comment *@
@* This is a Razor comment *@
这是一条多行评论:
@*
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.
*@
Razor 视图和页面可以包含 HTML 注释。 这些注释在发送到浏览器的 HTML 输出中可见。
<!-- This is an HTML comment -->
<!-- This is an HTML comment -->
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>
了解 IronPDF for .NET是一个流行的库,允许开发人员生成HTML 创建的 PDF 文件此外,还需要翻译.NET 中的文本、图片甚至现有网页。 它是创建报告、发票和其他任何需要标准打印格式的文档的绝佳工具。 IronPDF 可在 ASP.NET MVC 和 ASP.NET Razor Pages 框架内完美运行。
首先,您需要安装 IronPDF 软件包。 您可以通过 Visual Studio 中的 NuGet 包管理器控制台来完成这项工作。 运行以下命令
:PackageInstall
现在,让我们用 Razor 页面中的 HTML 代码创建一个简单的 PDF。 首先,让我们在 Razor 页面顶部导入 IronPdf 命名空间。
@using 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);
}
}
@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如果您觉得有价值,可以购买适合您需要的许可证。