今年是2024年了,没有多少人在ASP.NET 去做开发,都使用ABP框架 ,不过我们仍然需要了解ASP.NET MVC 的一个开发流程
MVC概述
MVC是当前比较流行的WEB程序开发模式之一,ASP.NET MVC是.Net对MVC的一种实现。MVC(Model View Controller 模型-视图-控制器)具体如下所示:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
ASP.NET MVC 项目创建
打开 VSCode “文件-新建-项目”
创建新项目中 选择 ASP.NET WEB 应用程序
创建项目名称
下图中有一个复选框“将解决方案和项目放在同一目录中”
这个的含义:当选择[将解决方案和项目放在同一目录中]后.sln文件和第一个新建的项目文件混合在一块,没有选择[将解决方案和项目放在同一目录中].sln文件和新建的项目在同级目录中
到现在我们就创建完成了。
文件结构
ASP.NET MVC 模型的创建
Model (模型的创建)
先创建模型类,在“Models文件夹-->右键-->添加-->类”
在学生类中加入 姓名和年龄
/// <summary>
/// 唯一标识
/// </summary>
public int id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
Controller (控制器的创建)
View(视图的创建)
路由组成
路由是 http://localhost:3099/Student/Index
实例代码
下面的代码就是从controller 中给值到 view
Controller 层代码
using DemoMvc01.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace DemoMvc01.Controllers
{
public class StudentController : Controller
{
// GET: Student
public ActionResult Index()
{
var student = new Student
{
id = 1,
Name = "张三"
};
return View(student);
}
}
}
view 层
@model XXX.XXX.student 含义 :指定当前视图页使用哪一个模型
@Model 如果不指定是动态类型,这样容易出问题,如果后端返回的类型在项目中没有,或者没找到,就报错了
从下图中可以看出,model 目前的类型是 student类型
@model DemoMvc01.Models.Student
<table>
<tr>
<th>Id</th>
<th>Name</th>
<!-- 其他字段 -->
</tr>
<tr>
<td>@Model.id</td>
<td>@Model.Name</td>
<!-- 其他字段 -->
</tr>
</table>