第6章 6.1 ASP.NET Core MVC 项目

6.1.1 ASP.NET Core MVC 项目的搭建

进入VS环境,创建新的项目,选择【ASP.Net Core Web 应用(模型-视图-控制器)】如下图所示

编写项目名称 点击创建,进入项目后结构如下所示

wwwroot 文件夹为图片、JS、CSS等静态文件的文件夹,Models、Views、Controllers文件夹是与MVC相关的文件夹。

杨老师视频教程讲解项目结构描述如下图所示

6.1.2 编写第一个MVC程序

首先,在Models中创建一个模型Person

cs 复制代码
namespace WebMVC.Models
{
    public record Person(string Name ,bool IsVIP,DateTime CreadtedDateTime); 
}

其次,在Controllers文件夹添加控制器类

编写控制器中的操作方法 DemoUser

cs 复制代码
using Microsoft.AspNetCore.Mvc;
using WebMVC.Models;

namespace WebMVC.Controllers
{
    public class TestController : Controller
    {
        public IActionResult DemoUser()//Action 操作方法
        {
            // return View();
            Person ppp1 = new Person("内蒙古海军上校詹姆斯下士",true ,DateTime.Now);
            return View(ppp1);
        }
    }
}

最后,在Views中,创建控制器名称所对应的文件夹(因为视图一般被放到Views文件夹下的控制器名字的文件夹下),然后在改文件夹中以控制器中的操作方法的名称作为cshtml文件的名称创建视图文件。

cs 复制代码
@model WebMVC.Models.Person
<div>姓名:@Model.Name</div>
<div>VIP?:@Model.IsVIP </div>
<div>创建时间:@Model.CreadtedDateTime </div>

然后启动调试,在浏览器地址栏中添加控制器名称及操作方法,即可刷新出控制器的返回内容

以上就是一个简单的MVC应用程序的编写,杨老师反复强调:当前主流开发模式都趋向于前后分离模式,所以这一章着重讲WebAPI,MVC的内容只做个简单介绍。

6.1.3 .NET Core的新工具:热重载

自.NET6起,有了热重载功能,该功能允许开发者在以调试方式运行程序时,无需重启程序接可以使修改的代码生效。

有两种方式:

(1)在修改后点击热重载图标,修改立即生效

(2) 在热重载图标下拉框中勾选【文件保存时热重载】,在修改代码后立即生效

但是,在做了较大改动后可能导致热重载无法使用,需要重启程序。

杨老师建议:平时开发中使用【启动(不调试)】的方式运行程序,这样在修改完代码后重新生成程序就能让修改的代码生效。在需要调试的时候再以调试的方式启动程序并使用热重载调试修改后的代码。

相关推荐
AINative软件工程23 分钟前
AI Agent 证据仲裁工程实践:别让检索结果按自信程度撒谎
人工智能·后端·ai编程
卷无止境30 分钟前
FastAPI 权限管理实战:从 ACL 到 RBAC 的那些门道
后端·python·fastapi
淡海水1 小时前
01-05-运行时-JIT优化全景-内联去虚拟化边界检查消除
windows·c#·虚拟化·jit·内联·边界检查消除
GreenTea9 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
风流 少年9 小时前
Spring AI 2.0:Memory
java·后端·spring
万少9 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波00710 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
wujian831113 小时前
怎么用千问生成word文档:从「格式崩」到「一键过」,AI导出鸭打通最后半厘米
人工智能·ai·c#·word·豆包·deepseek·ai导出鸭
IT_陈寒13 小时前
Python的GIL让我多写了500行代码
前端·人工智能·后端
zlinear数据采集卡14 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#