每天学一点,每天积累一点,进步就不止一点点!PS:好记性不如烂笔头,学会总结,学会思考~~~ ----要飞翔,必须靠自己!

灰太狼的梦想

好记性不如烂笔头,学会总结,学会思考~~~

MVC学习系列1--什么是MVC

上面的虚线表示:被动角色。实线表示:主动角色。

 

1.控制器和视图:控制器和视图是双向的关系,但控制器的关系更主动。

当控制器是主动的角色的时候,控制器决定要显示哪一个View;当视图为主动角色时,视图可以决定,要将数据返回给控制器中的哪一个Action方法,并且,当数图需要数据的时候,可以决定数据应该从哪一个控制器的方法获得。

2.视图和模型:视图是主动角色,而模型则是以数据提供者的方式存在。所以视图到模型是实线,模型到视图是虚线。

视图上的数据,基本上是从控制器中的方法中传过来的。然而,传过来的数据类别,基本上是模型中定义的,所以,可以这样说:视图和模型之间,是彼此参考的关系,也就是说,视图会参考模型中的数据字典定义。

如果,视图发现,从控制器传过来的数据,不足以完整显示,这个时候,视图就会变成主动,即主动对模型,进行数据查询获得数据。也就是在上图中,看到的,视图到模型是实线。。

3.控制器和模型:控制器永远是主动的关系,控制器负责调用模型中所定义的各种数据字典,而模型只是单纯的提供数据服务,或者验证服务给控制器使用。

 

好了,综上所述:也就是,用户发过来的请求,首先会通过路由,路由机制,判断这个请求是,请求哪个控制器中的哪个方法,然后控制器,调用模型中的数据字典定义,获取数据之后,决定要显示哪一个视图。大概就是这么回事。

 

好了,现在看看,如果新建第一个MVC程序吧。

这里,我用的是VS2013,打开VS2013,选择文件--》新建--》项目

 

然后选择空白的模板

 

先好项目之后,初始化的模板是:

 

接着,我们自己新建一个控制器Home,修改一下默认生成的代码

代码如下:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace FirstMVC.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public string Index()
        {
            return "欢迎您,这里是ASP.NET MVC";
        }
    }
}
复制代码

 

接着,我们运行一下代码,就得到如图的结果,这就是我们第一个简单的不能再简单的小程序:

总结;主要理解MVC的概念。

 

posted @   灰太狼的梦想  阅读(1340)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏