第一部分:核心概念与准备工作
在开始编码之前,你需要理解几个核心概念,这会让你事半功倍。

技术选型:ASP.NET Core 的三大开发模式
ASP.NET Core 提供了三种主要的开发模式,分别针对不同的场景和开发者偏好:
| 开发模式 | 技术栈 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| Razor Pages | C# + HTML (.cshtml) |
简单、直观、上手快,遵循“约定优于配置”原则,适合中小型项目,快速开发。 | 对于大型、复杂的业务逻辑,组织方式不如 MVC 灵活。 | 个人博客、企业官网、产品展示页、中小型管理系统。 |
| MVC (Model-View-Controller) | C# + HTML (.cshtml) |
结构清晰、职责分离,Model(数据)、View(视图)、Controller(控制器)各司其职,非常适合大型团队协作和复杂应用。 | 学习曲线比 Razor Pages 稍陡,需要理解更多概念。 | 大型电商平台、复杂的后台管理系统、需要高度可维护性的企业级应用。 |
| Blazor | C# + HTML/CSS/JS | 革命性的前端技术,允许你使用 C# 来编写前端交互逻辑,而不是 JavaScript,前后端都使用 C#,统一技术栈。 | 生态系统相对 JS 仍在发展中,社区资源、UI 组件库不如 React/Vue 丰富。 | 内部管理系统、需要高度安全性和可控性的应用、希望用同一门语言全栈开发的团队。 |
给新手的建议:
- 如果你是初学者,或者项目规模不大,强烈推荐从 Razor Pages 开始,它最简单,能让你快速看到成果,理解 ASP.NET Core 的基本原理。
- 如果你的项目非常复杂,或者你正在学习大型应用架构,那么选择 MVC。
- 如果你对前端 JavaScript 感到困扰,并且希望全栈使用 C#,可以尝试 Blazor。
开发环境准备
你需要安装以下软件:
-
.NET SDK (Software Development Kit):
(图片来源网络,侵删)- 这是核心,包含了编译和运行 .NET 应用所需的一切。
- 访问 dotnet.microsoft.com/download 下载最新的 LTS (长期支持) 版本,.NET 8 或 .NET 6。
- 安装后,打开命令行工具(如 PowerShell 或 CMD),输入
dotnet --version,如果能显示版本号,说明安装成功。
-
代码编辑器:
- Visual Studio (推荐): 微软官方的 IDE(集成开发环境),功能最强大,调试、智能提示、界面设计等都非常方便。
- Visual Studio Community (社区版): 对个人开发者、开源项目和小型团队免费。
- 安装时,请确保勾选 “.NET 桌面开发” 或 “ASP.NET 和 Web 开发” 工作负载。
- Visual Studio Code (VS Code): 轻量级但功能强大的代码编辑器,免费且跨平台。
需要安装 C# Dev Kit 扩展包来获得最好的开发体验。
- Visual Studio (推荐): 微软官方的 IDE(集成开发环境),功能最强大,调试、智能提示、界面设计等都非常方便。
第二部分:创建并运行你的第一个 ASP.NET Core 网站
这里我们以最简单的 Razor Pages 为例,带你走一遍完整流程。
步骤 1:创建项目
-
使用 Visual Studio (图形界面)
(图片来源网络,侵删)- 打开 Visual Studio,点击“创建新项目”。
- 在模板搜索框中输入
ASP.NET Core Web App,选择它(确保右侧的 C# 图标被选中)。 - 点击“下一步”,给你的项目起个名字(如
MyFirstWebApp),选择一个位置。 - 点击“下一步”,在框架下拉菜单中选择最新的 .NET 8.0 (或 .NET 6.0 LTS)。
- 在“其他信息”页面,确认选择“Razor Pages”,然后点击“创建”。
- Visual Studio 会自动为你生成一个完整的、可运行的网站项目。
-
使用命令行工具 (CLI)
-
打开一个终端(PowerShell, CMD, 等)。
-
进入你想要创建项目的文件夹。
-
运行以下命令:
# 创建一个名为 MyFirstWebApp 的 Razor Pages 项目 dotnet new webapp -o MyFirstWebApp # 进入项目目录 cd MyFirstWebApp # 运行项目 dotnet run
-
终端会显示你的应用正在运行,并通常会在
https://localhost:xxxx和http://localhost:yyyy上启动,你可以在浏览器中打开任一地址查看网站。
-
步骤 2:理解项目结构
无论你用哪种方式创建,项目结构都大同小异,用 Visual Studio 打开项目,你会看到这些关键文件夹和文件:
Pages/: 存放所有网页文件的地方。Index.cshtml: 网站的首页。Privacy.cshtml: 一个隐私页面的示例。Error.cshtml: 一个全局错误页面。/_ViewStart.cshtml: 一个全局配置文件,指定所有页面默认使用的布局模板。
wwwroot/: 存放静态文件,如图片、CSS 样式表、JavaScript 文件。appsettings.json: 应用的配置文件,可以在这里存储数据库连接字符串等。Program.cs: 应用的入口文件,在这里配置和启动 Web 服务器(如 Kestrel)和中间件管道。MyFirstWebApp.csproj: 项目文件,定义了项目依赖的 NuGet 包(库)和 SDK 版本。
步骤 3:修改并运行网站
-
打开
Pages/Index.cshtml文件,你会看到类似这样的 HTML 代码:@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://learn.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div> -
修改
<h1>标签里的文字,比如改成<h1 class="display-4">你好,ASP.NET Core!</h1>。 -
在 Visual Studio 中,按
F5或点击绿色的“播放”按钮启动调试,项目会自动编译并在浏览器中打开。 -
你会看到页面上的标题已经变成了你修改后的文字。
恭喜!你已经成功创建并修改了你的第一个 ASP.NET Core 网站!
第三部分:核心功能开发示例
让我们来做一个简单的功能:在首页上显示一个当前时间,并提供一个按钮来刷新它。
修改后端逻辑 (Page Model)
打开 Pages/Index.cshtml.cs 文件(这是与 Index.cshtml 对应的 C# 代码文件,也叫 Page Model)。
- 在
IndexModel类中,添加一个公共属性来存储时间:public string CurrentTime { get; set; } - 修改
OnGet()方法(这个方法在页面首次加载时被调用):public void OnGet() { // 初始化时间为当前时间 CurrentTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); }
修改前端视图 (Razor 语法)
打开 Pages/Index.cshtml 文件。
- 在
<h1>标签下方,添加一个<p>标签来显示时间,并使用 Razor 语法@Model.来访问 Page Model 中的属性:<p class="alert alert-info">当前时间: @Model.CurrentTime</p>
- 再添加一个
<a>标签作为刷新按钮,利用 Razor Pages 的asp-page标签助手:<a class="btn btn-primary" asp-page="./Index">刷新时间</a>
解释:
@Model.CurrentTime: 符号是 Razor 语法的开始,表示“在这里插入 C# 代码的执行结果”。Model指代的是与当前视图关联的 Page Model 实例(即IndexModel的一个对象)。asp-page="./Index": 这是一个“
