首页>教程>ASP.NET Core7.0教程>在 ASP.NET Core 中开始使用 Razor Pages

在 ASP.NET Core 中开始使用 Razor Pages

内容纲要

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

如果你是 ASP.NET Core 开发新手,且不确定哪种 ASP.NET Core Web UI 解决方案最适合自己的需要,请参阅选择 ASP.NET Core UI

在本系列结束时,你将拥有一个管理电影数据库的应用。

在本教程中,你将了解:

  • 创建 Razor 页面 Web 应用。
  • 运行应用。
  • 检查项目文件。

在本教程结束时,你将有一个工作的 Razor Pages Web 应用。在后续教程中,你可以在其基础上进行增强。

先决条件

Visual Studio

Visual Studio Code

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET CLI 开发功能,如项目创建。 可在(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。

Visual Studio for Mac

创建 Razor 页面 Web 应用

Visual Studio

  • 启动 Visual Studio 2022 并选择“创建新项目”。
  • 在“创建新项目”对话框中,选择“ASP.NET Core Web 应用”,然后选择“下一步” 。
  • 在“配置新项目”对话框中,为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。
  • 选择“下一页”。
  • 在“其他信息”对话框中,选择“.NET 6.0 (长期支持)”,然后选择“创建”。

创建以下初学者项目:

运行应用

Visual Studio

在“解决方案资源管理器”中选择“RazorPagesMovie”,然后按 Ctrl+F5 以在不使用调试程序的情况下运行 。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

Visual Studio:

  • 运行应用,启动 Kestrel 服务器。
  • 在 https://localhost:5001 处启动默认浏览器,显示应用 UI。

Visual Studio Code

  • 通过运行以下命令来信任 HTTPS 开发证书:
dotnet dev-certs https --trust
  • 上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。如果证书以前不受信任,上述命令显示以下对话:
  • 如果你同意信任开发证书,请选择“是”。

在 Visual Studio Code 中,按 Ctrl+F5 运行应用。 在“选择环境”提示符下,选择“.NET Core” 。

默认浏览器通过以下 URL 启动:https://localhost:5001

Visual Studio for Mac

选择“调试”>“开始调试”以启动应用。 Visual Studio for Mac 启动浏览器并导航到 https://localhost:<port>,其中 <port> 是在创建项目时随机分配的端口号,并在 Properties/launchSettings.json 中设置。

检查项目文件

以下部分概述了你将在后续教程中使用的主要项目文件夹和文件。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

  • 一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。
  • 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 此文件设置页面顶部的导航菜单和页面底部的版权声明。

wwwroot 文件夹

包含静态资产,如 HTML 文件、JavaScript 文件和 CSS 文件。

appsettings.json

包含配置数据,如连接字符串。

Program.cs

包含以下代码:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

此文件中的以下代码行会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖项注入 (DI) 容器添加 Razor Pages 支持,并生成应用:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

开发人员异常页默认启用,并提供有关异常的有用信息。 生产应用不得在开发模式中运行,原因是开发人员异常页可能会泄露敏感信息。

下面的代码会将异常终结点设置为 /Error,并且当应用未在开发模式中运行时,启用 HTTP 严格传输安全协议 (HSTS):

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

例如,当应用在生产或测试模式中时,会运行前面的代码。

下列代码会启用各种中间件:

  • app.UseHttpsRedirection();:将 HTTP 请求重定向到 HTTPS。
  • app.UseStaticFiles();:使能够提供 HTML、CSS、映像和 JavaScript 等静态文件。
  • app.UseRouting();:向中间件管道添加路由匹配。
  • app.MapRazorPages();:为 Razor Pages 配置终结点路由。
  • app.UseAuthorization();:授权用户访问安全资源。 此应用不使用授权,因此可删除此行。
  • app.Run();:运行应用。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索