知识点:理解ASP.NET MVC、创建一个ASP.NET MVC项目、理解ASP.NET MVC应用程序的结构
1、ASP.NET MVC简介
ASP.NET MVC是微软公司在原有的 ASP.NET 框架基础上提出的一个新的 MVC 框架。利用 ASP.NET MVC ,.NET 开发人员可以用 MVC 模式来构建 Web 应用,做到清晰的概念分离(UI 或试图与业务应用逻辑分离,应用逻辑和后端数据分离),同时还可以使用测试驱动开发。
1.1 什么是 MVC
MVC 不是一种编程语言,严格来说也不是一种技术,而是一种开发架构,一种开发观念,或者说是一种程序设计模式。
MVC(Model-View-Controller ,模型—视图—控制器模式)用于表示一种软件架构模式。它把将软件开发过程大致切割成3个主要单元,分别为模型(Model)、试图(View)和控制器(Controller),简称MVC,其定义如下:
- 模型(Model):一组类,描述了要处理的数据以及修改和操作数据的业务规则;
- 视图(View):定义应用程序用户界面的显示方式;
- 控制器(Controller):一组类,用于处理来自用户、整个应用程序流以及特定应用程序逻辑的通信。
1.2 MVC 的优点
ASP.NET MVC框架提供了一个可以代替 ASP.NETWebForm 的基于 MVC 设计模式的应用。
- 通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,减少项目之间的耦合。
- 自由操控HTML:在ASP.Net MVC中已经不使用控件,回归到网页基本元素HTML、CSS和javaScript,因此灵活性大幅增加。
- 移动设备的支持:ASP.Net MVC4以后的版本针对移动网站增加了许多功能,对于变化更多的移动设备也能有更好的支持。
- 网页流量降低:ViewState不再存在,并且内建CSS、JS捆绑与最小化机制与各种各样的Helper,可有效的降低数据传输量。
- 使Web程序对单元测试的支持更加出色。
- 在团队开发模式下表现更出众。
1.3 ASP.NET MVC 与 ASP.NET WebForm 的区别
(1)ASP.NET是创建 WEB 应用的框架
(2)MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC
(3)原来的ASP.NET称为 ASP.NET Webforms
推荐阅读:【使用ASP.NET开发Web项目】第一课——初识ASP.NET,创建第一个ASP.NET程序
2、创建一个ASP.NET MVC项目(带模板)
ASP.NET MVC 程序开发过程
软件版本:Visual Studio 2012
第一步:打开VS2012软件,点击菜单栏【文件】—【新建】—【新建项目】,在弹出的新建项目窗体中,点击左侧模板 Visua C# 下面的 Web 选项,然后在中间部分,选择 .NET Framework 4 版本,点击选中【ASP.NET MVC 4 Web 应用程序】。名称、位置、解决方案名称,可以选择默认设置,也可以根据需要自行修改。最后点击【确定】按钮。
第二步:在弹出的【新 ASP.NET MVC 4 项目】窗体中,选择模板【Internet 应用程序】,视图引擎暂时使用默认的【Razor】,然后点击【确定】按钮
注意:此时等待系统自动创建即可,如果程序出现以下错误提示,点击【确定】即可。如果要解决此错误提示,解决办法:微软网站下载补丁文件,安装即可http://download.microsoft.com/download/A/0/2/A02C37E0-77F7-448A-BD5C-F66AB1F78DBC/VS11-KB3002339.exe。
第三步:创建完成后的默认效果,我们会看到有一个 HomeController.cs 文件默认打开。
第四步:启动测试,在浏览器中查看效果。点击工具单栏
,后面浏览器的名称会根据你自己电脑设置,有所不同。注意:因为我们是用模板创建的,因此在预览的时候,可以看到这样的效果。
思考,我们可以自己修改这些页面内容吗?
第五步:结调试。可以直接关闭浏览器,也可以点击工具栏上的红色方块。
第六步:修改页面内容。打开左侧【解决方案资源管理器】,依次点开文件夹【Views】—【Home】—双击文件 Index.cshtml,即可打开该文件。
更改一行代码:(这里是新增加了一行代码)
再次预览效果:
项目分析:6个预安装项目模板介绍
- 空模板:该模板不包含任何内容,只会创建一个空的 ASP.NET MVC 项目。
- 基本模板:该模板大部分内容为空,但是项目中仍然包含基本的文件夹、CSS 以及出现错误提示消息,因为还没有设置应用程序启动项。基本模板是为具有 ASP.NET MVC 开发经验的人员设计的,基本模板可以按照他们的想法精确地设置和配置。
- Internet 应用程序模板:通过该模板可以快速创建一个基本的 ASP.NET MVC 应用程序,程序创建之后可以立即运行,并能看到一些页面。 Internet 应用程序模板分为两个,前一个创建出的项目包含基于 Web Forms 验证机制(ASP.NET Membership)的账户系统,后一个创建出的项目包含 Windows 验证机制。
- 移动应用程序模板:该模板会创建一个适用于移动设备的 ASP.NET MVC 4 项目,并且包含基于 Web Forms 验证机制(ASP.NET Membership)的账户系统。
- Web API 模板:该模板会创建一个ASP.NET Web API 项目。
3、MVC 模式在 Web 开发中的应用
MVC 模式目前已经广泛地应用于 Web 程序设计中。在 ASP.NET MVC 中,MVC 的3个主要部分有着明确的分工。
模型(Models):也可称作数据模型,负责所有与数据有关的任务:
☆定义数据结构;
☆负责连接数据库;
☆从数据库中读写数据;
☆执行存储过程;
☆进行数据格式验证;
☆定义与验证业务逻辑规则;
☆对数据进行加工和处理。
所有与数据有关的任务,都应该在模型里完成或定义。在 ASP.NET MVC Web 应用开发中,我们可以将 Model 想象成一个命名空间(Namespace),它定义了一些类(Class)来负责所有与数据有关的工作,常见的相关技术包括 ADO.NET 、类型化数据集(Type Dataset)、实体数据模型(Entity Framework)、Linq to SQL 、数据访问层(Data Access Layer)和库模式(Repository Pattern)等。
视图(Views):负责所有与用户有关的接口简单来说就是输入与输出。输出工作指将数据显示在用户接口上,如 HTML ,输入工作则是将用户输入的数据传回服务器,具体任务包括:
☆从控制器(Controller)处取得数据,并将数据显示在用户接口上;
☆负责控制页面的版式、字体、颜色等各种显示方式;
☆参考模型(Model)定义的数据格式来定义数据显示方式;
☆在 Web 页面中送出数据到服务器;
☆决定数据的传递格式和传送方式;
☆完成基本的数据验证。
控制器(Controllers):其任务与明朝一样,就是掌控全局,所有与视图和模型无关的逻辑都由控制器定义。它负责的工作如下:
☆决定系统运作流程;
☆负责从模型(Model)中获取数据;
☆决定该显示哪个视图(View)。
3.1 创建一个ASP.NET MVC项目(空)
第一步:打开VS2012软件,点击菜单栏【文件】—【新建】—【新建项目】,在弹出的新建项目窗体中,点击左侧模板 Visua C# 下面的 Web 选项,然后在中间部分,选择 .NET Framework 4 版本,点击选中【ASP.NET MVC 4 Web 应用程序】。名称、位置、解决方案名称,可以选择默认设置,也可以根据需要自行修改。最后点击【确定】按钮。
第二步:在弹出的【新 ASP.NET MVC 4 项目】窗体中,选择模板【空】,视图引擎暂时使用默认的【Razor】,然后点击【确定】按钮。
第三步:添加一个控制器。在解决方案里,右键单击【Controllers】—【添加】—【控制器】
在弹出的【添加控制器】窗体中,设置控制器名称为“HomeController”
添加完成后,会自动生成一个文件,HomeController.cs。
第四步:在解决方案里,右键单击【Views】—【添加】—【新建文件夹】—命名为【Home】。(文件夹的名称和控制器名称一样)
将新添加的文件夹,命名为“Home”
第五步:右键单击新添加的文件夹【Home】—【添加】—【视图】
在弹出的【添加视图】窗体中,视图名称修改为“Index”,取消勾选“使用布局或母版页”,然后单击【确定】
添加完成后,会自动生成一个文件,Index.cshtml。
第六步:修改页面内容,这里是添加一行代码,欢迎语
第七步:测试运行
3.2 理解 MVC 的工作原理
在MVC中,客户端所请求的 URL 是被映射到相应的 Controller 去,然后由 Controller 来处理业务逻辑,或许要从 Model 中取数据,然后再由 Controller 选择合适的 View 返回给客户端。
运用断点测试,理解 MVC 工作原理
第一步:添加断点。双击打开 HomeController.cs 文件,在方法前面添加一个断点。(添加断点的方法:在该行断码左侧,单击一下鼠标左键,会出现一个红色圆点)
第二步:运行测试。单击工具栏
,然后点击“逐语句”工具即可查看测试。
4、ASP.NET MVC项目文件夹和核心文件的解释
在使用 Visual Studio 创建一个新的 ASP.NET MVC 应用程序之后,将自动向这个项目中添加一些目录和文件,如下图所示(此图来自带模板项目)。
ASP.NET MVC 项目默认含有5个顶级目录,每个目录都有特定的分工,如表所示。
目 录 | 用 途 | 备 注 |
Controller | 该目录用于保存那些处理URL请求的Controller类 | 存放程序的核心文件 |
Models | 该目录用于保存那些表示和操纵数据以及业务对象的类 | |
Views | 该目录用于保存那些负责呈现和输出结果(如HTML)的UI模板文件 | |
App_Data | 该目录用于存储想要读取/写入的数据文件 | |
App_Start | 该目录用于保存那些项目配置相关的类 |
4.1 App_Start 文件
App_Start 文件中包含MVC系统启动的相关类。
- FilterConfig.cs :过滤器配置,这些过滤器(授权、异常、行为等)可以被应用到每个 Action 和 Controller 中去。(第四课会详细讲解)
- RouteConfig.cs :配置MVC应用程序的系统路由路径。在 ASP.NET MVC 中通过配置 App_Start 文件夹下的 RouteConfig.cs 设置启动的默认页。
- WebApiConfig.cs:用于注册Web API配置的各个方面。
效果图演示:通俗理解路由,是用于处理请求的 URL 模式,旅游时有多条线路可以到达目的地,网页可以通过多种URL访问,但是都要在规定范围内,如果超出规则,则无法到达目的地(网页)。
4.2 Web.config文件
- 根目录下面的Web.config文件:作用于整个项目的配置
- Views下面的Web.config文件:是整个视图的配置文件
4.3 Global.asax 文件
Global.asax 文件包含全局应用程序事件的事件处理程序。它响应应用程序级别和会话级别事件的代码。 运行时, Global.asax 将被编译成一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的。 因此在global.asax中的代码可以访问 HttpApplication 类中所有的 public 或者 protected 的成员 global.asax 不被用户直接请求,但 global.asax 中的代码会被自动执行来响应特定的应用程序事件。 global.asax 是可选的,而且在一个web项目中是唯一的,它应该处于网站的根目录。
===========这里是结束分割线=============
原文地址:https://blog.csdn.net/dnruanjian/article/details/114526252
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。