码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-07-14 02:39:44      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

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

 

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的概念。

 

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

标签:

原文地址:http://www.cnblogs.com/caofangsheng/p/5668415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!