ASP.NET实战003:浅谈MVC框架

2025-05-09 12:26:38

1、ASP.NET WebForm的缺点在使用WebForm你会发现WEB的响应很慢,为什么会出现这样的问题呢?这根ASP.NET WebForm的渲染有关,它采用的是ASP.NET界吹刂咣特有的服务器控件来实现的布局,当用户发送请求时服务器需要将服务器控件先进行元素转换生成正常的HTML元素,然后再返回给用户展示。对于简单的个体元素来说影响不是很大,如果处理的数据一多那么问题就显现出来了,也间接增加了服务器的压力,影响用户体验。还有就是前后端耦合性太高了,代码很难实现重用,维护起来很不方便,而且拓展性不强。

ASP.NET实战003:浅谈MVC框架

2、什献垴淄睬么是ASP.NET MVCASP.NET MVC是Microsoft在WebForm框架的基础上改进的一款Web研发框架,它是轻量级的、可测试性孕驷巴墟高的框架,同时整合了所有已有的 ASP.NET 特性,比如母版页、安全性和认证,是ASP.NET一种轻量级的替代方案,可以实现更加高效的管理和开发。ASP.NET MVC将前后端彻底的分离了,通过把项目分成Model、View和Controller几个模块,使得复杂项目更加容易维护,同时也减少前后端之间的耦合性。

ASP.NET实战003:浅谈MVC框架

3、什献垴淄睬么是MVC前面我也多次提到了MVC模式,MVC全名是Model View Controller,是模型(model)、视图(view)、控制器(艘早祓胂controller)的缩写,一种典型的软件设计模式将业务逻辑、数据、界面显示等代码进行组织分离,将M(业务逻辑)、V(用户视图)、C(控制器)分离开来,降低彼此间的耦合度,从而使系统更加灵活,易于扩展,也大大提高代码的可重用性,提高了开发效率,简单的概括就是如下:Model 对业务逻辑及相关的数据的处理方法View 向用户提供交互界面Controller 负责控制Model和View,实现关系映射

ASP.NET实战003:浅谈MVC框架

4、MVC的优势1,前后端分离:将每个功能拆分成MVC三部分,降低耦合度和复杂度,提高开发效率;2,并行开发:每个模块可以独立开发,分工明确,相互不干扰;3,可以使用当前主流框架(如Bootstrap)快速实现HTML样式,灵活高效;4,舍弃ASP.NET控件,去除控件元素渲染工作,提高服务器响应,降低服务器压力;5,开源:开源即意味着可以自由的修改源码来实现定制化开发;6,MVC模式更容易管理和维护;

ASP.NET实战003:浅谈MVC框架

5、ASP.NET MVC 请求流程1,用户再浏览器中输入URL;2,服务器监听到服务请求并解析路由;3,根据路由映射关系先获取控制器Controller;4,依赖控制器创建Model对象,调用Model方法访问数据并对数据进行处理;5,将数据返回到View 视图并通过浏览器呈现给用户。

ASP.NET实战003:浅谈MVC框架

6、什献垴淄睬么是ControllerController主要负责处理浏览器请求,控制客户端与服务端之间的交互和协调Model与View之间的数据传递,可以说潮贾篡绐Controller是ASP.NET MVC的核心模块,能够及时的处理请求及交互逻辑。在创建控制器的时候要注意,名称中必须包含Controller这个关键词,如DomeController,DomeController是控制器类名,而Dome则是是Controller的名称,所以在输入URL的时候我们只需输入Dome就可以找到该模块了。

ASP.NET实战003:浅谈MVC框架

7、什么是Action创建Controller控制器的时候会自动生成一个index方法,这是Controller内置的public类型方法(也叫Action方法),用来接收处理浏览器请求的。当浏览器发出请求时,Controller通过内置的ActionInvoker方法来选择适当的Action运行,每个Action可以定义0到多个参,参数传入的属性是通过模型绑定机制从RequestContext中获取数据并将数据传入方法的参数中。

ASP.NET实战003:浅谈MVC框架

8、创建Action方法快速创建Action方法,在下方空白处右键选择“插入代码段”=>"ASP.NET MVC "=>“mvcaction”或者“mvcpostaction”,默认生成一个名为Action的方法,方法名自行修改即可。选择mvcaction为默认形式,即HttpPost和HttpGet两种方式的请求都接收。选择mvcpostaction则只接受HttpPost的请求,HttpGet请求时提示浏览器找不到资源。

ASP.NET实战003:浅谈MVC框架

9、什么是模型(Model)Mode主要负责通过数据库获取数据及将用户输入的数据保存到数据库,同时提供有效地提供数据访问机制、数据验证、自定义验证、业务逻辑处理等功能,这就是Model实体的使用。

ASP.NET实战003:浅谈MVC框架

10、添加模型右键单击“解决方案资源管理器“ 中的Models 文件夹,然后在弹出菜单项中选择:添加 => 类 , 将弹出的添加新项目对话框中选择类文件并填写模型名称如:Dome.cs,接下来我们就可以在Dome.cs来实现我们的具体业务逻辑了。

ASP.NET实战003:浅谈MVC框架

11、什么是View当用户在浏览器输入URL时,经过服务器响应返回给用户看到的内容就叫做View(视图),视图为用户提供了不限于文字、表格、图片、视频、音频、动画、程序、超链接、交互按钮等众多资源,用户通过视图与服务器进行交互获取更多用户想要的信息或者上传更多的有效数据。

ASP.NET实战003:浅谈MVC框架

12、添加View视图在资源管理中右键Views文件夹--->添加---> MVC 5视图页(Razor), 在创建Controllers控制器时程序会自动在Views目录中新增一个对应控制器名称的文件夹,在Controller控制器中的Action方法上右键找到添加视图,会在View中的对应文件夹下自动生成与Action名相同的cshtml文件,这个就是视图文件。

ASP.NET实战003:浅谈MVC框架

13、视图如何呈现ASP.NET MVC视图采用的Razor语法格式书写,以.cshtml为文件扩展名,在视图被被请求时Razor视图引擎会编译这个视图,将cshtml视图编译为C#代码,这些编译过的代码负责输出标准的HTML元素供浏览器呈现。

ASP.NET实战003:浅谈MVC框架

14、以上就是对ASP.NET MVC框架的浅析,具体的每个功能模块会在后续详细展开。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢