文章目录
一、ASP.Net MVC简介
1.什么是ASP.NET MVC?
HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net MVC、ASP.Net WebForm等高级封装的框架,简化开发,他们的底层仍然是HttpHandler、HttpRequest等这些东西。比如ASP.Net MVC的核心类仍然是实现了IHttpHandler接口的MVCHandler。
2.ASP.net WebForm、和ASP.net MVC的关系?
都是对HttpHandler的封装框架,ASP.net WebForm是微软为了让开发ASP.Net像开发WinForm一样傻瓜化发明的框架,有很多缺点;ASP.net MVC采用了MVC的思想,更适合现代项目的开发,因此ASP.net MVC在逐步取代ASP.Net WebForm。
3.ASP.NET MVC与“三层架构”
ASP.net MVC与“三层架构”没有任何的关系。三层架构中的UI层可以用ASP.Net MVC来实现。可以理解为MVC其实是对UI层进行再次分层
4.约定大于配置
“约定大于配置”:恶心的“配置文件地狱”,基础阶段按照默认配置来,先不管复杂、难懂的“路由”等。
配置可以理解为配置文件,MVC里面基本上依靠约定去解决问题
3.为什么ASP.Net MVC更好?
程序员有更强的掌控力,不会产生垃圾代码;程序员能够更清晰的控制运行过程,因此安全、性能、架构等更清晰。WebForm和ASP.netMVC在“入门”和“深入”两个要素之间正好相反。
二、MVC的版本
- 1.0:基于.NET Framework3.5 VS2008(核心功能)
- 2.0:基于.NET Framework3.5、4.0 VS2010(分区项目、模型元数据、模板视图…)
- 3.0:基于.NET Framework4.0 VS2010、VS2012(视图引擎:Razor、H5和CSS3)
- 4.0:基于.NET Framework4.0、4.5 VS2012、VS2013(手机模板、单页应用程序模板)
- 5.0:基于.NET Framework4.5.1 VS2013、VS2015
- 6.0;基于.NET Framework4.5.1-4.8 VS2017、VS2019(只剩Razor视图引擎)
三、ASP.NET开发模式
Model(模型):包含一组数据的类和管该数据的逻辑信息。
View(视图):包含显示逻辑,用于显示Controller提供给它的模型中数据。
Controller(控制器):处理Http请求,调用模型,选择一个视图呈现该模型。
四、第一个MVC程序
1.MVC项目文件夹说明
(1) App_Data:用来保存数据文件,暂时不需关心
(2) App_Start:包含ASP.NET-MVC系统启动的相关类文件
(3) Controller:存放整个项目的“控制器”的代码文件
(4) Models:存放整个项目的“模型”代码文件
(5) Views:存放整个项目的“视图”代码文件
(6) Content:存放视图相关的样式文件
(7) fonts:存放视图使用的字体文件
(8) Scripts:存放视图相关的JS脚本文件
2.MVC项目重要文件说明
(1) Views下面的Web.config文件:作用于视图的配置文件
(2) 根目录下的Web.config文件:作用于整个项目的配置文件
(3) Global.asax文件:全局应用程序文件:一般和App_Start文件夹中的类配合使用
(4) packages.config文件:用于管理项目中用到的程序集版本
官网链接:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/overview?view=aspnetcore-3.1