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>
相关推荐
波力海苔夹心脆67516 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
AI导出鸭PC端18 小时前
Perplexity批量导出没有PDF模式?AI导出鸭插件补上最后一块拼图
人工智能·pdf·c#·ai导出鸭
Risehuxyc19 小时前
C# 选用更流行的语言版本
c#
淡海水2 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
吴可可1232 天前
富怡CAD二次开发指南
c#
1-1=02 天前
C# IO和序列化
c#·.net·.netcore
寂寞的船2 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
CSharp精选营2 天前
从控制台到「会动手」的 AI:用 Semantic Kernel 搭应用(小白教程)
c#·.net·ai agent·semantickernel·functioncalling
宝桥南山3 天前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=03 天前
C# 中 Lambda、Linq 与 Expression
c#·linq