zoukankan      html  css  js  c++  java
  • 初识MVC框架

          MVC框架

          是一个框架模式,它使应用程序的输入、处理和输出分开。它可以使业务逻辑、数据、界面显示分离,使得耦合度大大降低,在这一方面与“三层”思想类似。


         M——Model(模型)  

          要处理的业务代码和数据操作代码,模型对象负责在数据库中存取数据。

          注意:模型层并非是三层架构中的Model层。在三层中,Model层中是实体。而在MVC中,Model中既有业务逻辑又有对数据的各种操作代码,因此,如果非要比较的话,它更像是三层中B层与D层的结合。

          

          V——View(视图)

          主要与用户打交道的,负责数据显示


           C——Controller (控制器)

           Model和View之间的桥梁,它来决定决定调用哪个Model加载哪个视图。控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据。控制器类似一个中间者,负责传话的那个人。

    简单了解以后,我们来看一下如何建立一个MVC项目。如下图:




    点击确定以后,新建的项目中会如下图所示:



    用红色框标出的是前面所说的M-V-C,App_Data 与一般的ASP.NET website是一样的,用于存放数据。Content 这个目录是建议用来存放一下资源文件的。例如CSS、JS、图片等等。其他的文件夹如Images、Filters就不用介绍了。


    下面通过一个小例子来简单看一下MVC的神奇之处。


    1、在Model文件夹中新建一个类HelloWorldController,会自动生成一个Index方法。




    2、在它的Index方法中右键添加视图,名称为Index.cshtml.(cshtml是扩展名)。

    3、在Model中添加Movie模型类,代码如下

    namespace MvcMovie.Models
    {
        public class Movie
        {
            //稍后要在浏览器中显示的字段
            public int ID { get; set; }
            public string Title { get; set; }
            public DateTime ReleaseDate { get; set; }
            public string Genre { get; set; }
            public decimal Price { get; set; }
        }
    
        //负责在数据库中的操作,继承自Entity Framework的DbContext基类
        public class MovieDBContext : DbContext
        {
            public DbSet<Movie> Movies { get; set; }
        }
    }

          4、创建数据库连接

    在web.config中的<connectionStrings>中添加

    <add name="MovieDBContext" 
        connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Movies.mdf;Integrated Security=True" 
        providerName="System.Data.SqlClient" 
    /> 

    5、创建一个新的类MoviesController控制器,它的作用是获取数据并使用视图将数据显示在浏览器中。

    右击Model文件夹,如下图所示,图中的类都是之前动手创建的类:


    运行程序,在地址栏后加上 /Movies,回车即出现下图:



    单击Create New,进入添加电影页面,各字段都是之前Movies中的。



    添加成功,回到VS中。在运行过程中,向Movies控制器请求,从而返回Movies电影数据库表中的所有记录,然后将结果传递给Index视图。


    最后,我们看一下新添加的那一条电影信息到哪里去了。

    在右面的解决方案中,找到一个以.mdf结尾的,如图




    打开之后,看到十分熟悉的界面。



    接着打开Movies,看到其中的数据。



    小结:

    对于MVC,目前只是初步的了解,还是一知半解的状态。但是跟着一个一个小Demo做,还是蛮有成就感的,期待下一步在项目中更多的实践。

  • 相关阅读:
    转DataBinder.Eval总结
    ASP.NET环境下XML导出导入数据方法
    iOS开发中GCD在多线程方面的理解
    hdu 1678 优先队列
    hdu 1565 状态压缩DP
    hdu 1175 连连看
    hdu 1078 记忆化搜索
    hdu 1506
    hdu 1521 记忆化搜索
    三大博弈[转]
  • 原文地址:https://www.cnblogs.com/saixing/p/6730305.html
Copyright © 2011-2022 走看看