ASP.NET MVC 快速入门(图文版)

今年是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文件夹-->右键-->添加-->类"

在学生类中加入 姓名和年龄

cs 复制代码
        /// <summary>
        /// 唯一标识
        /// </summary>
        public int id { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
Controller (控制器的创建)
View(视图的创建)
路由组成

路由是 http://localhost:3099/Student/Index

实例代码

下面的代码就是从controller 中给值到 view

Controller 层代码
cs 复制代码
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类型

cs 复制代码
@model DemoMvc01.Models.Student


    <table>
        <tr>
            <th>Id</th>
            <th>Name</th>
            <!-- 其他字段 -->
        </tr>
        <tr>
            <td>@Model.id</td>
            <td>@Model.Name</td>
            <!-- 其他字段 -->
        </tr>

    </table>
相关推荐
ltl14 分钟前
【大模型基础设施工程】03:CUDA 生态——cuBLAS、cuDNN、NCCL、Triton、CUTLASS
后端
wan_jm24 分钟前
Go Web 开发提速 3(gos):Filter 实战与变量注入 —— 通用逻辑复用与依赖解耦
后端
rannn_11125 分钟前
【Redis|原理篇2】Redis网络模型、通信协议、内存回收
java·网络·redis·后端·缓存
RDCJM1 小时前
Springboot的jak安装与配置教程
java·spring boot·后端
_Evan_Yao2 小时前
对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
java·后端·websocket·网络协议·http
危桥带雨2 小时前
FLASH代码部分
java·后端·spring
Rust研习社2 小时前
添加依赖库时的 features 是什么?优雅实现编译期条件编译与模块化开发
开发语言·后端·rust
马艳泽3 小时前
接到新需求后快速产出可执行的方案和时间估算
后端
Rust研习社3 小时前
Rust 条件变量(Condvar)详解:线程同步的高效方式
后端·rust·编程语言
fliter3 小时前
用逆波兰表达式,彻底搞懂 Rust 宏的递归写法
后端