初识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做,还是蛮有成就感的,期待下一步在项目中更多的实践。

原文地址:https://www.cnblogs.com/saixing/p/6730305.html