zoukankan      html  css  js  c++  java
  • 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的概念。

  • 相关阅读:
    【LeetCode】17. Letter Combinations of a Phone Number
    【LeetCode】16. 3Sum Closest
    【LeetCode】15. 3Sum 三个数和为0
    【LeetCode】14. Longest Common Prefix 最长前缀子串
    【LeetCode】13. Roman to Integer 罗马数字转整数
    【LeetCode】12. Integer to Roman 整型数转罗马数
    【LeetCode】11. Container With Most Water
    【LeetCode】10. Regular Expression Matching
    Models of good programmer
    RSA Algorithm
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/5668415.html
Copyright © 2011-2022 走看看