一、简介
MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计:
Model(模型)表示应用程序核心(比如数据库记录列表)
View(视图)对数据(数据库记录)进行显示
Controller(控制器)处理输入(写入数据库记录)
1、MVC 模型通过三个逻辑层来定义 web 应用程序:
business layer(业务层、模型逻辑)
display layer(显示层、视图逻辑)
input control(输入控件、控制器逻辑)
模型(Model)
模型(Model)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象在数据库中存取数据。
View(视图)
View(视图)是应用程序中处理数据显示的部分。
通常从模型数据中创建视图。
控制器
控制器是应用程序中处理用户交互的部分。
通常控制器从视图读取数据、控制用户输入,并向模型发送数据数据。
MVC 的这种拆分有助于我们管理复杂的应用程序,因为您能够在同一时间关注一个方面。例如,可以在不依赖业务逻辑的情况下对视图进行设计。同时对应用程序的设计也更加容易。MVC 的这种拆分同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
2、应用程序文件夹
典型的 ASP.NET MVC web 应用程序拥有如下文件夹内容:
应用程序信息
Properties
引用
应用程序文件夹
App_Data 文件夹
Content 文件夹
Controllers 文件夹
Models 文件夹
Scripts 文件夹
Views 文件夹
配置文件
Global.asax
packages.config
Web.config
所有 MVC 应用程序中的文件夹名称都是相等的。MVC 框架基于默认的命名。控制器位于 Controllers 文件夹,视图位于 Views 文件夹,模型位于 Models 文件夹。您不必在应用程序代码中使用文件夹名称。标准化的命名减少了代码量,同时有利于开发者对 MVC 项目的理解。
二、控制器
1、Controllers 文件夹
Controllers 文件夹包含负责处理用户输入和响应的控制器类,MVC 要求所有控制器的名称必须以 "Controller" 结尾。
web 服务器通常会将进入的 URL 请求直接映射到服务器上的磁盘文件。例如:某个 URL 请求(比如 "http://www.w3school.com.cn/index.asp")将映射到服务器根目录上的文件 "index.asp"。MVC 框架的映射方式有所不同,MVC 将 URL 映射到方法,这些方法在类中被称为“控制器”,控制器负责处理进入的请求、处理输入、保存数据、并把响应发送回客户端。
2、Controller 视图
Views 文件夹中的文件 Index.cshtml 和 About.cshtml 定义了控制器中的 ActionResult 视图 Index() 和 About(),这是在控制器被创建后自动生成的,从中可以看出controller和views的关系。
三、视图
Views 文件夹
Views 文件夹存储的是与应用程序显示(用户界面)相关的文件(HTML 文件),根据语言的不同,这些文件的扩展名可能是 html、asp、aspx、cshtml 以及 vbhtml。Views 文件夹包含每个控制器对应的一个文件夹。Visual Web Developer 在新建应用程序时已创建了一个 Account 文件夹、一个 Home 文件夹、一个 Shared 文件夹(在 Views 文件夹内):
Account 文件夹包含用于注册并登录用户帐户的页面。
Home 文件夹用于存储诸如首页和关于页之类的应用程序页面。
Shared 文件夹用于存储控制器间分享的视图(模板页和布局页)。
文件 Index.cshtml 表示应用程序的首页。它是应用程序的默认文件(首页文件)。
四、模型
1、MVC 模型
包含所有应用程序逻辑(业务逻辑、验证逻辑、数据访问逻辑),除了纯视图和控制器逻辑。通过 MVC,模型可保存并操作应用程序数据。
2、Models 文件夹
Models 文件夹包含表示应用程序模型的类。
Visual Web Developer 自动创建一个 AccountModels.cs 文件,包含用于应用程序安全的模型。
AccountModels 包含 LogOnModel、ChangePasswordModel 以及 RegisterModel。
3、添加数据库模型
本教程所需的数据库模型能够通过以下几个简单的步骤来创建:
在解决方案管理器中,右键点击 Models 文件夹,选择添加、类。
对类 MovieDB.cs 进行命名,然后点击添加。
4、添加数据库控制器
通过基架能够轻松创建数据库控制器:
重建您的项目:选择测试,然后从菜单中选择 Build MvcDemo。
在解决方案资源管理器中,右键点击 Controllers 文件夹,然后选择添加、控制器。
把控制器名称设置为 MoviesController
选择模板:Controller with read/write actions and views, using Entity Framework
选择模型类:MovieDB (MvcDemo.Models)
选择 data context 类:MovieDBContext (MvcDemo.Models)
选择视图 Razor (CSHTML)
点击添加
Visual Web Developer 将创建如下文件:
Controllers 文件夹中的 MoviesController.cs 文件
Views 文件夹中的 Movies 文件夹
五、HTML 帮助器
通过 MVC,HTML 帮助器类似于传统的 ASP.NET Web Form 控件,HTML 帮助器用于修改 HTML,与 web form 控件不同, HTML 帮助器更轻,而且HTML 帮助器没有事件模型和 view state。在大多数情况下,HTML 帮助器仅仅是返回字符串的方法。MVC提供了许多内建的 HTML 帮助器,另外,还能够创建自己的帮助器。
1、标准的 HTML 帮助器
MVC 包含了大多数常用的 HTML 元素类型的标准帮助器,比如 HTML 链接和 HTML 表单元素。
HTML 链接
呈现 HTML 链接的最简单方法是使用 HTML.ActionLink() 帮助器。
通过 MVC,Html.ActionLink() 不连接到视图。它创建控制器操作(controller action)的连接。
HTML 表单元素
以下 HTML 帮助器可用于呈现(修改和输出)HTML 表单元素:
BeginForm()
EndForm()
TextArea()
TextBox()
CheckBox()
RadioButton()
ListBox()
DropDownList()
Hidden()
Password() |
|