本教程将涵盖从环境搭建、核心概念到项目部署的全过程,并采用当前主流的 ASP.NET Core 技术栈。

ASP.NET 网站建设全攻略
第一部分:准备工作与基础概念
在开始写代码之前,我们需要了解一些基本概念并搭建好开发环境。
1 什么是 ASP.NET?
ASP.NET 是一个由微软开发的、用于构建 Web 应用程序的开源框架,它可以帮助开发者使用 C# 语言快速、高效地创建动态网站、Web API 和服务。
- 为什么选择 ASP.NET?
- 高性能:基于 .NET 运行时,性能卓越。
- 跨平台:ASP.NET Core 可以在 Windows, macOS, Linux 上运行。
- 开源:拥有活跃的社区,持续更新。
- 工具强大:拥有 Visual Studio 这款顶级的集成开发环境。
- 安全性高:内置了诸多安全特性,可防范常见的 Web 攻击。
- 语言强大:使用 C#,一门现代化、功能强大的编程语言。
2 环境搭建
你需要安装以下两样核心东西:
-
.NET SDK (Software Development Kit)
(图片来源网络,侵删)- 作用:包含了编译和运行 .NET 应用程序所需的一切,包括 .NET 运行时和命令行工具。
- 下载地址:https://dotnet.microsoft.com/download
- 选择版本:对于新手,建议下载最新的 LTS (长期支持) 版本,.NET 8 或 .NET 6。
-
Visual Studio 2025 (推荐)
- 作用:微软官方的 IDE,提供代码编辑、调试、界面设计等一站式开发体验。
- 下载地址:https://visualstudio.microsoft.com/zh-hans/vs/
- 安装版本:对于 Web 开发,选择 “Visual Studio Community” (社区版) 即可,它是免费的,在安装时,请务必勾选 “.NET 桌面开发” 或 “ASP.NET 和 Web 开发” 工作负载,这会自动安装所需的 SDK 和模板。
验证安装: 打开命令提示符或 PowerShell,输入以下命令:
dotnet --version
如果显示出版本号,说明 .NET SDK 安装成功。
第二部分:创建你的第一个 ASP.NET Core 项目
我们将使用最经典的 "Hello, World!" 来启动旅程。

1 使用 Visual Studio 创建项目
- 打开 Visual Studio 2025。
- 点击“创建新项目”。
- 在模板搜索框中输入
ASP.NET Core Web App,选择模板,然后点击“下一步”。 - 为你的项目命名(
MyFirstWebApp),选择一个保存位置,然后点击“下一步”。 - 在“其他信息”页面:
- 框架:选择最新的 .NET 8.0 (或 LTS 版本)。
- 身份验证类型:选择“无”。
- 配置 HTTPS:可以勾选,方便本地调试。
- 不使用顶级语句:取消勾选(这会使项目结构更传统,易于理解)。
- 点击“创建”,Visual Studio 会自动生成一个项目模板。
2 项目结构解析
生成项目后,你会看到以下几个关键文件:
Program.cs:应用程序的入口点,在这里配置和启动 Web 应用程序。Properties/launchSettings.json:定义了不同的启动配置(如 IIS Express、HTTPS 等)。Controllers/HomeController.cs:控制器,负责处理用户的请求并返回响应。Views/Home/Index.cshtml:视图,用于展示 HTML 页面给用户。Views/Shared/_Layout.cshtml:布局文件,定义了网站的公共结构(如<head>,<body>, 导航栏等)。wwwroot/:存放静态文件的地方,如 CSS, JavaScript, 图片等。
3 运行你的第一个网站
- 方法一(VS):按
F5键或点击工具栏的“播放”按钮。 - 方法二(命令行):在项目根目录打开终端,运行
dotnet run。
默认情况下,浏览器会自动打开并显示一个欢迎页面,恭喜你,你的第一个 ASP.NET Core 网站已经运行起来了!
第三部分:核心概念详解
一个网站的核心是“请求-响应”模型,ASP.NET Core 通过 MVC 模式来组织代码,使结构清晰。
1 MVC (Model-View-Controller) 架构
- Model (模型):代表应用程序的数据和业务逻辑,它负责与数据库交互,定义数据结构。
- View (视图):负责展示数据,它通常是 HTML 页面,其中嵌入了 Razor 语法来显示 Model 中的数据。
- Controller (控制器):是 Model 和 View 之间的协调者,它接收来自用户的 HTTP 请求,调用 Model 处理数据,然后选择一个 View 将结果返回给用户。
工作流程:
用户请求 -> Controller -> 处理业务逻辑 (调用 Model) -> 选择 View -> 返回 HTML 响应 -> 用户浏览器
2 Razor 语法
Razor 是一种将服务器端代码(C#)嵌入到 HTML 中的标记语法,它非常简洁直观。
-
代码块:以 开头。
<p>当前时间: @DateTime.Now</p>
-
变量:
@* 在 Controller 中设置: ViewData["Message"] = "你好,世界!"; *@ <h1>@ViewData["Message"]</h1>
-
循环和条件:
@if (User.IsInRole("Admin")) { <p>欢迎,管理员!</p> } <ul> @for (int i = 1; i <= 5; i++) { <li>项目 @i</li> } </ul> -
创建链接和表单:使用 Razor 辅助方法,可以防止跨站请求伪造攻击。
@* 生成一个指向 About 页面的链接 *@ <a asp-controller="Home" asp-action="About">关于我们</a> @* 生成一个表单 *@ <form asp-controller="Account" asp-action="Login" method="post"> <input type="text" name="username" /> <input type="password" name="password" /> <button type="submit">登录</button> </form>
3 路由
路由是 URL 到 Controller Action 的映射机制,ASP.NET Core 默认使用约定路由。
- 默认路由模板:
{controller=Home}/{action=Index}/{id?}controller:控制器名称,默认是Home。action:控制器中的方法(Action)名称,默认是Index。id:可选参数。
示例:
- 访问
https://localhost:5001/-> 映射到HomeController.Index()。 - 访问
https://localhost:5001/Contact-> 映射到HomeController.Contact()。 - 访问
https://localhost:5001/Products/Details/5-> 映射到ProductsController.Details(id: 5)。
第四部分:实战演练 - 构建一个简单的博客网站
让我们通过一个实战项目来巩固所学知识。
目标:创建一个可以展示文章列表和文章详情的博客。
1 步骤一:创建数据模型
在 Models 文件夹中创建一个 BlogPost.cs 文件:
// Models/BlogPost.cs
using System.ComponentModel.DataAnnotations;
namespace MyFirstWebApp.Models
{
public class BlogPost
{
public int Id { get; set; }
[Required]
[StringLength(100)]
public string Title { get; set; }
[Required]
public string Content { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
}
}
2 步骤二:创建控制器
在 Controllers 文件夹中,右键 -> 添加 -> 控制器,选择“MVC 控制器 - 空”,命名为 BlogController.cs。
// Controllers/BlogController.cs using Microsoft.AspNetCore.Mvc;
