ASP.NET Core MVC

项目结构

  1. 控制器由Controller类实现,视图一般是扩展名为cshtml的文件,而模型则是只有属性的普通C#类。
  2. 控制器类的名字一般以Controller结尾,并且被放到Controllers文件夹下。控制器的名字为控制器的类名去掉Controller。
  3. 视图一般被放到Views文件夹下的控制器名字的文件夹下。
  4. 视图→浏览器端提交的请求→模型→控制器→处理→模型→视图。渲染:Render。

案例

演示一个在控制器中查询数据,然后把数据传递给视图进行渲染的案例。

  1. 在Models文件夹下创建一个Person类,这个类包含Name,IsVIP,CreatedTime属性。

    cs 复制代码
    namespace WebApplication1.Models
    {
        public record Person(string Name,bool IsVIP,DateTime CreatedTime);
    }
  2. 在Controller文件夹下创建继承自Controller类的TestController类。

    cs 复制代码
    using Microsoft.AspNetCore.Mvc;
    using WebApplication1.Models;
    
    namespace WebApplication1.Controllers
    {
        public class TestController : Controller
        {
            public IActionResult Demo()
            {
                Person p1=new Person("小明",true,DateTime.Now);
                return View(p1);
            }
        }
    }

    控制器中方法的返回值一般是IActionResult类型的,控制器类中被外界直接访问的方法叫"操作方法"

  3. 在View文件夹下创建和TestController名称对应的Test文件夹,然后在Test文件夹添加空视图,Demo.cshtml。

    cs 复制代码
    @model WebApplication1.Models.Person
    
    <div>姓名:@Model.Name</div>
    <div>是否VIP:@Model.IsVIP</div>
    <p>@Model.CreatedTime</p>
相关推荐
玩泥巴的3 小时前
MAF + 飞书:让大模型干活,但别让它乱干
ai·c#·.net·飞书·agent
cpp_w7 小时前
C#基础3- 面向对象中级应用3
后端·c#
CarIise8 小时前
Spring MVC 请求参数绑定与常用注解2
java·spring·mvc
步步为营DotNet8 小时前
Async 状态机要搬进运行时了:.NET 10 Runtime Async 实测,快的地方快 1.5 倍,贵的地方贵 5 倍
性能优化·c#·.net·async·runtime
hixiong1238 小时前
C# 使用 ZXingCpp.Angle 进行条码、二维码识别
开发语言·c#·扫码
CarIise9 小时前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
步步为营DotNet9 小时前
System.Text.Json 源生成:三个“看起来已经生效“的静默失效
c#·.net·native aot·源生成
用户788477316341 天前
用 C# 把每周 6 小时的 PDF 录入干到 20 分钟:一份可复制的桌面 OCR 方案
c#
csdn_aspnet1 天前
C# .NetCore Swagger ISchemaFilter 处理枚举、特殊类型
c#·.netcore·swagger
滴滴答答哒1 天前
C# 技巧:优雅实现对象的“局部更新”与“字段合并”
开发语言·c#